\@charset "utf-8";
/* ===================================================================
CSS information

  file name  : sp.css
  style info : 
=================================================================== */

@media screen and (max-width: 1440px){

/* -----------------------------------------------------------
  header
----------------------------------------------------------- */
header .logo_symbol {
  width: 40px;
}

header .logo_txt .tradename {
  width: 300px;
}

/* -----------------------------------------------------------
  #conference_sec
----------------------------------------------------------- */
#conference_sec {
  padding: 10vw;
}

/* -----------------------------------------------------------
  TOP
----------------------------------------------------------- */
#top main .main .mv_ttl .mv_ttl_jp {
  font-size: 5.4rem;
}

#top .container #concept_sec {
  padding: 15vw 10vw 15vw;
}

#top .container #concept_sec .concept_box .txt_box {
  padding: 6.5vw calc(6.5vw + 23.5vw) 6.5vw 6.5vw;
}

#top .container #clinical_sec {
  padding: 0 10vw 10vw;
}

#top .container #services_sec {
  padding: 10vw 10vw calc(10vw + 5vw);
}

#top .container #message_sec {
  padding: 6.5vw 10vw 6.5vw 0;
}

#top .container #banner_sec {
  padding: 10vw 10vw calc(10vw + 5vw);
}

#top .container #recruit_sec {
  padding: 6.5vw 0 6.5vw 10vw;
}
.pageTop {
    display: block;
}
.page_top{
    display: none !important;
}
/* -----------------------------------------------------------
	lower head box
----------------------------------------------------------- */
.lower_head_box {
  padding: 0 10vw;
}


#symptom_single .container .relation_btn_wrap.case2 {
    padding: 5vw 10vw 0;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont {
    padding: 0 10vw 5vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#about .container #concept_sec .concept_box {
  padding: 0 10vw;
  margin: 5vw 0 0;
  position: relative;
}
#about .container #concept_sec .concept_box .txt_box {
  padding: 0 0 0 calc((33vw - 10vw) + 6.9vw);
}

#about .container #doctor_sec {
  padding: 5vw 10vw 10vw;
}

#about .container #interior_sec {
  padding: 5vw 10vw 10vw;
}


/* -----------------------------------------------------------
  lower information sec
----------------------------------------------------------- */
#lower_info_sec {
  padding: 5vw 10vw 10vw;
  position: relative;
  z-index: 0;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#guide .container {
  padding: 0 0 10vw;
}
#guide .container .guide_sec {
  padding: 0 10vw;
  margin: 10vw 0 0;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#treatment .container #example_primary_sec,
#treatment .container #example_tertiary_sec {
  padding: 5vw 10vw 10vw;
}

#treatment .container #example_secondary_sec {
  padding: 5vw 10vw 10vw;
}

/* -----------------------------------------------------------
 
----------------------------------------------------------- */
#flow .container #flow_sec {
  padding: 6vw 10vw 20vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#cost .container #cost_sec .cost_cont_box {
  padding: 5vw 10vw 10vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#access .container #access_sec .contents .img_box {
  padding: 0 10vw;
}

#access .container #access_sec .access_cont_wrap {
  padding: 0 10vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#symptom .container #symptom_sec .symptom_cont_sec {
  position: relative;
  z-index: 0;
  padding: 5vw 10vw;
}

#symptom .container #tooth_sense_sec .solution_cont_wrap {
  width: calc(100% + 10vw);
  margin-left: -5vw;
  padding: 5vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#recruit .container #recruit_sec .recruit_sec {
  position: relative;
  z-index: 0;
  padding: 5vw 10vw;
}

#recruit .container #recruit_sec .cta_wrap {
  padding: 5vw 10vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#symptom_single .container .relation_btn_wrap {
  padding: 6vw 10vw 0;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 40px;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont {
  padding: 0 10vw 5vw;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont .single_sec_ttl_box .order .ttl {
  font-size: 2.8rem;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont .single_sec_ttl_box .order .num {
  font-size: 7.6rem;
  line-height: 1;
}

#symptom_single .container #symptom_single_sec .symptom_single_sec {
  padding: 5vw 10vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#news .container #news_archive_sec {
  padding: 6vw 10vw 20vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#news_single .container .news_single_wrap {
  padding: 6vw 10vw 20vw;
}


}

@media screen and (max-width: 1280px){

/* -----------------------------------------------------------
  .hd
----------------------------------------------------------- */
.hd_02 {
  font-size: 2.8rem;
}

.hd_03 .hd_en {
  font-size: 1.6rem;
}
.hd_03 .hd_ja {
  font-size: 3rem;
  font-weight: 600;
}

.hd_05 {
  font-size: 2.4rem;
  padding: 1.8vw;
  height: auto;
}

/* -----------------------------------------------------------
  header
----------------------------------------------------------- */
header .logo_symbol {
  width: 35px;
}

header .logo_txt .tradename {
  width: 280px;
}

/* -----------------------------------------------------------
  #conference_sec
----------------------------------------------------------- */
#conference_sec {
  padding: 10vw 7.5vw;
}

/* -----------------------------------------------------------
  #information_sec
----------------------------------------------------------- */
#information_sec .info_box .left_box .contact_box .contents .tel_box .tel_number .tel_ttl {
  font-size: 2.8rem;
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .tel_number .tel_num {
  font-size: 4.2rem;
}

#information_sec .info_box .left_box .access_box .contents .acc_box > ul > li .acc_icn {
  margin-right: 20px;
}

/* -----------------------------------------------------------
  TOP
----------------------------------------------------------- */
#top main .main {
  padding-bottom: 50px;
}

#top main .main .swiper-slide {
  background-position: center left 7.5vw;
}

#top main .main .main_bnr picture {
  width: 300px;
}

#top main .main .main_topics {
  bottom: 50px;
}

#top main .main .mv_ttl .mv_ttl_jp {
  font-size: 4.8rem;
}

#top main .main .mv_ttl .mv_ttl_en {
  font-size: 2.0rem;
}

#top main .main_wrap:after {
  width: 50vw;
}

#top .container #concept_sec {
  padding: 15vw 7.5vw 15vw;
}

#top .container #concept_sec:before {
  top: 6vw;
}

#top .container #concept_sec .concept_box .txt_box {
  /* padding: 6.5vw calc(6.5vw + 26.5vw) 6.5vw 6.5vw; */
}

#top .container #concept_sec .concept_box .pic_box {
  top: 10vw;
}

#top .container #concept_sec .concept_box .pic_box picture {
  width: 31vw;
}

#top .container #clinical_sec {
  padding: 0 7.5vw 10vw;
}

#top .container #services_sec {
  padding: 10vw 7.5vw calc(10vw + 5vw);
}

#top .container #message_sec {
  padding: 6.5vw 7.5vw 6.5vw 0;
}

#top .container #message_sec .message_box .pic_box {
  width: 43vw;
}

#top .container #banner_sec {
  padding: 10vw 7.5vw calc(10vw + 5vw);
}

#top .container #recruit_sec {
  padding: 6.5vw 0 6.5vw 7.5vw;
}

#top .container #recruit_sec .recruit_box .pic_box {
  width: 43vw;
}

/* -----------------------------------------------------------
	lower main visual
----------------------------------------------------------- */
.lower_mv_wrap {
  position: relative;
  z-index: 0;
  padding: 0 0 20px;
}
.lower_mv_wrap:after {
  content: "";
  width: 100%;
  height: calc(100% - 6vw);
  display: block;
  position: absolute;
  z-index: -1;
  left: 0;
  bottom: 0;
  background: var(--color_12);
}
.lower_mv_wrap .contents {
  margin: 0 0 1vw;
}

/* -----------------------------------------------------------
	lower head box
----------------------------------------------------------- */
.lower_head_box {
  padding: 0 7.5vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#about .container #concept_sec {
  padding: 15vw 0;
}

#about .container #concept_sec .concept_box {
  padding: 0 7.5vw;
}

#about .container #concept_sec .concept_box .txt_box {
  padding: 0 0 0 calc((33vw - 7.5vw) + 5vw);
}

#about .container #doctor_sec {
  padding: 5vw 10vw 10vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#guide .container {
  padding: 0 0 7.5vw;
}
#guide .container .guide_sec {
  padding: 0 7.5vw;
  margin: 7.5vw 0 0;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#treatment .container #example_primary_sec,
#treatment .container #example_tertiary_sec {
  padding: 5vw 7.5vw 10vw;
}

#treatment .container #example_secondary_sec {
  padding: 5vw 7.5vw 10vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#flow .container #flow_sec {
  padding: 6vw 7.5vw 20vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#cost .container #cost_sec .cost_cont_box {
  padding: 5vw 7.5vw 10vw;
}

#cost .container #cost_sec .cost_cont_box .cost_cont_sec > .ttl_box .ttl {
  font-size: 2.6rem;
}

#cost .container #cost_sec .cost_cont_box .cost_cont_sec .cost_wrap .cost_box .txt_box > .ttl_box {
  font-size: 1.8rem;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#access .container #access_sec .contents .img_box {
  padding: 0 7.5vw;
}

#access .container #access_sec .access_cont_wrap {
  padding: 0 7.5vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#symptom .container #symptom_sec .symptom_cont_sec {
  padding: 5vw 7.5vw;
}

#symptom .container #tooth_sense_sec .solution_cont_wrap {
  width: calc(100% + 7.5vw);
  margin-left: -3.75vw;
  padding: 5vw 3.75vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#recruit .container #recruit_sec .recruit_sec {
  position: relative;
  z-index: 0;
  padding: 5vw 7.5vw;
}

#recruit .container #recruit_sec .recruit_sec .sec_ttl {
  font-size: 2.4rem;
  padding: 1.8vw;
  height: auto;
}

#recruit .container #recruit_sec .cta_wrap {
  padding: 5vw 7.5vw;
}


/* -----------------------------------------------------------

----------------------------------------------------------- */
#symptom_single .container .relation_btn_wrap {
  padding: 6vw 7.5vw 0;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 40px;
}

#symptom_single .container .relation_btn_wrap .btn_box .case_box .num {
  font-size: 2.5rem;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont {
  padding: 0 7.5vw 5vw;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont .single_sec_ttl_box .order .ttl {
  font-size: 2.5rem;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont .single_sec_ttl_box .order .num {
  font-size: 7rem;
  line-height: 1;
}

#symptom_single .container #symptom_single_sec .symptom_single_sec {
  padding: 5vw 7.5vw;
}

#symptom_single .container #symptom_single_sec #painful_tooth_sense_info .tooth_sense_info_cont .solution_cont_wrap .hd_05 {
  height: auto;
  font-size: 2.4rem;
}

#symptom_single .container #symptom_single_sec .solution_box .cont .txt {
  font-size: 2rem;
}

#symptom_single .container #symptom_single_sec #whitening_explanations_sec .whitening_explanations_step_wrap {
  gap: 4vw;
}

#symptom_single .container #symptom_single_sec #whitening_explanations_sec .whitening_explanations_step_wrap > .step_cont .txt_box .ttl_box > .ttl {
  font-size: 2rem;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont_wrap .cont_box .cont .ttl {
  font-size: 2rem;
}

#symptom_single .container #symptom_single_sec #decayed_normal_mouth_smell_description_sec .reason_wrap .txt_box > .ttl {
  font-size: 2rem;
}

/* -----------------------------------------------------------
  component
----------------------------------------------------------- */
/* STEP */
.step_cont_lists > .list .txt_box .ttl_box {
  grid-template-columns: 100px 1fr;
}

.step_cont_lists > .list .txt_box .ttl_box .num_box {
  height: 100px;
}

.step_cont_lists > .list .txt_box .ttl_box .num_box .step_ttl {
  font-size: 2rem;
}

.step_cont_lists > .list .txt_box .ttl_box .num_box .num {
  font-size: 3.6rem;
}

.step_cont_lists > .list .txt_box .ttl_box .ttl {
  font-size: 2.6rem;
}

/* row box */
.row_box .txt_box > .ttl {
  font-size: 2.4rem;
}

.row_box .txt_box > .txt {
  font-size: 1.6rem;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#news .container #news_archive_sec {
  padding: 6vw 7.5vw 20vw;
}

#news .container #news_archive_sec .news_archive_box .list .link .ttl {
  margin: 20px 0 0;
  font-size: 1.8rem;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#news_single .container .news_single_wrap {
  padding: 6vw 7.5vw 20vw;
}

#news_single .container .news_single_wrap .news_single_box > .single_ttl {
  font-size: 2.3rem;
}

#news_single .container .news_single_wrap .news_single_box > .info_box {
  grid-template-columns: 150px 1fr;
}

#news_single .container .news_single_wrap .news_single_box > .info_box .cat {
  height: 35px;
}

}

@media screen and (max-width: 1080px){

/* -----------------------------------------------------------
  .hd
----------------------------------------------------------- */
.hd_01 .hd_en {
  font-size: 1.3rem;
}

.hd_01 .hd_jp {
  font-size: 2.4rem;
}

.hd_02 {
  font-size: 2.6rem;
}

.hd_04 .hd_jp {
  font-size: 3rem;
  font-weight: 600;
  letter-spacing: .2em;
}

.hd_05 {
  font-size: 2.2rem;
}

.hd_06 {
  font-size: 2.4rem;
}

.hd_07 {
  font-size: 2rem;
  padding: 0 0 0 25px;
}

.hd_07:before {
  width: 12px;
  height: 12px;
}

/* -----------------------------------------------------------
  header
----------------------------------------------------------- */
header {
  height: 80px;
}

header .logo_symbol {
  width: 30px;
}

header .logo_txt .tradename {
  width: 230px;
}

header .logo_txt .en_tradename {
  font-size: 1.5rem;
}

header .head_rt .tel_box .tel_number .tel_ttl {
  font-size: 2.0rem;
}

header .head_rt .tel_box .tel_number .tel_num {
  font-size: 3.3rem;
}

header .head_rt .tel_box .recep_time {
  font-size: 1.1rem;
  margin-top: 0;
}

/*----------------------------------------------------
  toggle-panel
----------------------------------------------------*/
#panel-btn {
  height: 80px;
  width: 80px;
  margin-left: 20px;
}

/* -----------------------------------------------------------
  .nav_box
----------------------------------------------------------- */
.nav_box .nav_left {
  background-position: center left -25vw;
}

.nav_box .nav_right .g_nav .nav:not(:first-of-type) {
  margin-top: 3vw;
}

/* -----------------------------------------------------------
  .contents
----------------------------------------------------------- */
.contents {
  margin-top: 3vw;
}

/* -----------------------------------------------------------
  #conference_sec
----------------------------------------------------------- */
#conference_sec {
  padding: 10vw 5vw;
}

/* -----------------------------------------------------------
  #information_sec
----------------------------------------------------------- */
#information_sec .info_box {
  display: block;
}

#information_sec .info_box .left_box {
  display: flex;
}

#information_sec .info_box .left_box .access_box {
  margin-left: 7.5vw;
  margin-top: 0;
}

#information_sec .info_box .right_box {
  margin-left: 0;
  margin-top: 5vw;
  width: 100%;
}

/* -----------------------------------------------------------
  footer
----------------------------------------------------------- */
footer .foot_box .upside_box .right_box .foot_nav {
  gap: 2vw;
}

/* -----------------------------------------------------------
  TOP
----------------------------------------------------------- */
#top main .main {
  height: calc(100vh - 80px);
}

#top main .main .swiper-slide {
  background-position: center left 5vw;
}

#top main .main .mv_ttl {
  height: calc(100% - 100px);
}

#top main .main .mv_ttl .mv_ttl_jp {
  font-size: 4.2rem;
}

#top main .main .main_bnr picture {
  width: 270px;
}

#top main .main .main_topics a {
  height: 100px;
  padding: 15px 2vw;
}

#top main .main .main_topics a dl dd {
  margin-left: 20px;
}

#top main .main .main_topics a dl dd .post_ttl {
  width: 22em;
}

#top .container #concept_sec {
  padding: 15vw 5vw 15vw;
}

#top .container #concept_sec .concept_box .txt_box {
  padding: 6.5vw calc(6.5vw + 26.5vw) 6.5vw 6.5vw;
}

#top .container #clinical_sec {
  padding: 0 5vw 10vw;
}

#top .container #clinical_sec .clinical_box .txt_box .contents .examination_box .examination a .examination_icn {
  padding: 10px 20px;
}

#top .container #services_sec {
  padding: 10vw 5vw calc(10vw + 5vw);
}

#top .container #services_sec .services_box .contents .services_list {
  gap: 50px;
  width: calc(100% + 50px);
}

#top .container #services_sec .services_box .contents .services_list .services {
  width: calc(100% / 2 - 50px);
}

#top .container #services_sec .services_box .contents .services_list .services .txt_box .case_number .number {
  font-size: 4.0rem;
}

#top .container #services_sec .services_box .contents .services_list .services .txt_box .case_ttl {
  font-size: 2.2rem;
  margin-top: 2vw;
}

#top .container #services_sec .services_box .contents .services_list .services .txt_box .lead_box {
  margin-top: 1.5vw;
}

#top .container #services_sec .services_box .contents .services_list .services .txt_box .lead_box > p:not(:first-of-type) {
  margin-top: 0.75em;
}

#top .container #services_sec .services_box .contents .services_list .services .txt_box .btn_box {
  margin-top: 2vw;
}

#top .container #message_sec {
  padding: 6.5vw 5vw 6.5vw 0;
}

#top .container #message_sec .message_box .pic_box {
  width: 40vw;
}

#top .container #banner_sec {
  padding: 10vw 5vw calc(10vw + 5vw);
}

#top .container #recruit_sec {
  padding: 6.5vw 0 6.5vw 5vw;
}

#top .container #recruit_sec .recruit_box .pic_box {
  width: 40vw;
}

/* -----------------------------------------------------------
	lower head box
----------------------------------------------------------- */
.lower_head_box {
  padding: 0 5vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#about .container #concept_sec {
  padding: 15vw 0;
}

#about .container #concept_sec .concept_box {
  padding: 0 5vw;
}

#about .container #concept_sec .concept_box .txt_box {
  padding: 0 0 0 calc((31vw - 5vw) + 5vw);
}

#about .container #concept_sec .concept_box .txt_box .ttl {
  font-size: 2rem;
}

#about .container #concept_sec .concept_box .pic_box {
  width: 31vw;
}

#about .container #doctor_sec {
  padding: 5vw 5vw 10vw;
}

#about .container #doctor_sec .doctor_box .career_box .career_cont .ttl {
  font-size: 1.8rem;
}

#about .container #doctor_sec .doctor_box .txt_box .sign_img .img {
  width: 20vw;
}

#about .container #interior_sec {
  padding: 5vw 5vw 10vw;
}

#about .container #interior_sec .contents .interior_mov_box {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  margin-top: 5vw;
}

/* -----------------------------------------------------------
  lower information sec
----------------------------------------------------------- */
#lower_info_sec {
  padding: 5vw 5vw 10vw;
  position: relative;
  z-index: 0;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#guide .container .guide_nav_box .lower_head_box .guide_nav_lists .guide_nav {
  font-size: 1.6rem;
}
#guide .container .guide_nav_box .lower_head_box .guide_nav_lists .guide_nav a:after {
  flex-basis: 14px;
  width: 14px;
  height: 9px;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#guide .container {
  padding: 0 0 5vw;
}
#guide .container .guide_sec {
  padding: 0 5vw;
  margin: 10vw 0 0;
}
#guide .container .guide_sec .guide_sec_ttl {
  font-size: 2.5rem;
}
#guide .container .guide_sec .guide_sec_ttl:after {
  height: 3px;
}
#guide .container .guide_sec .guide_sec_ttl:before {
  width: 40px;
  height: 40px;
  left: -50px;
}
#guide .container .guide_sec .guide_sec_ttl--laser:before {
  background-image: url(../img/guide/laser-ttl.svg);
  width: 40px;
  height: 40px;
  left: -50px;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#treatment .container .lower_head_box .treatment_nav_box .treatment_nav_lists .treatment_nav .link .num {
  font-size: 2.6rem;
}

#treatment .container .lower_head_box .treatment_nav_box .treatment_nav_lists .treatment_nav .link .txt {
  font-size: 1.6rem;
}

#treatment .container .lower_head_box .treatment_nav_box .treatment_nav_lists .treatment_nav .link .txt:after {
  width: 15px;
  height: 10px;
  margin: 0 0 0 15px;
}

#treatment .container #example_primary_sec,
#treatment .container #example_tertiary_sec {
  padding: 5vw;
}

#treatment .container #example_secondary_sec {
  padding: 5vw;
}

#treatment .container .treatment_sec .sec_ttl .num {
  font-size: 4rem;
}

#treatment .container .treatment_sec .sec_ttl .txt {
  font-size: 2.4rem;
}

#treatment .container .treatment_sec .sec_ttl:after {
  width: 45px;
  height: 3px;
}

#treatment .container .treatment_sec .treatment_cont .cont_ttl {
  font-size: 2rem;
}

#treatment .container .treatment_sec .treatment_cont .cont_ttl:before {
  width: 12px;
  height: 12px;
  left: -25px;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#flow .container #flow_sec {
  padding: 6vw 5vw 20vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#cost .container #cost_sec .contents .lead_box {
  font-size: 1.6rem;
}

#cost .container #cost_sec .contents .lead_box .note {
  font-size: 1.4rem;
}

#cost .container #cost_sec .cost_cont_box {
  padding: 5vw 5vw 10vw;
  margin: 5vw 0 0;
}

#cost .container #cost_sec .cost_cont_box .cost_cont_sec {
  padding: 5vw;
}

#cost .container #cost_sec .cost_cont_box .cost_cont_sec + .cost_cont_sec {
  margin: 5vw 0 0;
}

#cost .container #cost_sec .cost_cont_box .cost_cont_sec > .ttl_box .ttl {
  font-size: 2.4rem;
}

#cost .container #cost_sec .cost_cont_box .cost_cont_sec .cost_wrap {
  gap: 2vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#access .container #access_sec .contents .img_box {
  padding: 0 5vw;
}

#access .container #access_sec .access_cont_wrap {
  padding: 0 5vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#symptom .container #symptom_sec .symptom_cont_sec {
  padding: 5vw;
}

#symptom .container #symptom_sec .contents .lead_box {
  font-size: 1.6rem;
}

#symptom .container #symptom_sec .symptom_cont_sec > .ttl {
  font-size: 3rem;
}

#symptom .container #symptom_sec .symptom_cont_sec > .ttl:after {
  height: 3px;
}

#symptom .container #tooth_pain_sec .cont_box {
  margin: 5vw 0 0;
  gap: 5vw;
}

#symptom .container #cavity_progress_sec .cont_box {
  margin: calc(5vw + 25px) 0 0;
}

#symptom .container #cavity_progress_sec .cont_box .cavity_progress_cont {
  grid-template-columns: repeat(3,1fr);
  gap: calc(1vw + 25px) 1vw;
}

#symptom .container #cavity_progress_sec .cont_box .cavity_progress_cont .list {
  gap: 0;
}

#symptom .container #cavity_progress_sec .cont_box .cavity_progress_cont .list:before {
  font-size: 1.6rem;
  width: 50px;
  height: 50px;
  top: -25px;
}

#symptom .container #cavity_progress_sec .cont_box .cavity_progress_cont .list > .txt {
  margin: 1vw 0 0;
}

#symptom .container #cavity_care_sec .cont_wrap .cont_box > .ttl {
  font-size: 2.4rem;
}

#symptom .container #cavity_care_sec .cont_wrap .cont_box .txt_box .care_box > .ttl {
  flex-basis: 75px;
  width: 75px;
  height: 75px;
  font-size: 1.4rem;
}

#symptom .container #cavity_care_sec .cont_wrap .cont_box .cat_box {
  grid-template-columns: repeat(auto-fill, minmax(50px, 1fr));
}

#symptom .container #cavity_care_sec .cont_wrap .cont_box .cat_box .cat {
  height: 50px;
  font-size: 1.6rem;
}

#symptom .container #tooth_sense_sec .head_cont .txt_box > .cont > .ttl {
  font-size: 2.4rem;
}

#symptom .container #tooth_sense_sec .solution_cont_wrap {
  width: calc(100% + 10vw);
  margin-top: 5vw;
  margin-left: -5vw;
  background-color: #fff;
  padding: 5vw;
}

#symptom .container #tooth_sense_sec .solution_cont_wrap > .ttl {
  font-size: 2.4rem;
}

#symptom .container #tooth_sense_sec .solution_cont_wrap .solution_cont_box {
  grid-template-columns: auto;
  gap: 5vw;
}

#symptom .container #tooth_sense_sec .solution_cont_wrap .solution_cont_box .solution_cont:first-of-type {
  grid-column: 1 / 3;
}

#symptom .container #tooth_sense_sec .solution_cont_wrap .solution_cont_box .solution_cont {
  gap: 1vw;
}

#symptom .container #tooth_sense_sec .solution_cont_wrap .solution_cont_box .solution_cont > .ttl {
  font-size: 1.8rem;
}

#symptom .container #tooth_sense_sec .solution_cont_wrap .solution_cont_box .solution_cont > .cont {
  padding: 2.5vw 4vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#recruit .container #recruit_sec .contents .lead_box {
  font-size: 1.6rem;
}

#recruit .container #recruit_sec .recruit_sec {
  position: relative;
  z-index: 0;
  padding: 5vw;
}

#recruit .container #recruit_sec .recruit_sec .sec_ttl {
  font-size: 2.2rem;
}

#recruit .container #recruit_sec .cta_wrap {
  padding: 5vw;
}

#recruit .container #recruit_sec .cta_wrap .cta_box .tel_box .ttl {
  font-size: 2.8rem;
}

#recruit .container #recruit_sec .cta_wrap .cta_box .tel_box .num {
  font-size: 3.8rem;
}


/* -----------------------------------------------------------

----------------------------------------------------------- */
#symptom_single .container .relation_btn_wrap {
  padding: 6vw 5vw 0;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
}

#symptom_single .container .relation_btn_wrap .btn_box {
  padding: 0 20px 0 0;
}

#symptom_single .container .relation_btn_wrap .btn_box .case_box .num {
  font-size: 2.3rem;
}

#symptom_single .container .relation_btn_wrap .btn_box .relation_btn {
  display: block;
}

#symptom_single .container .relation_btn_wrap .btn_box .relation_btn:after {
  content: "";
  width: 44px;
  height: 8px;
  right: -22px;
}

#symptom_single .container .relation_btn_wrap .btn_box .relation_btn:hover:after {
  right: -37px;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont {
  padding: 0 5vw 5vw;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont .single_sec_ttl_box .order .ttl {
  font-size: 2.2rem;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont .single_sec_ttl_box .order .num {
  font-size: 6rem;
  line-height: 1;
}

#symptom_single .container #symptom_single_sec .sec_ttl {
  font-size: 3rem;
}

#symptom_single .container #symptom_single_sec .sec_ttl:after {
  height: 3px;
}

#symptom_single .container #symptom_single_sec .symptom_single_sec {
  padding: 5vw;
}

#symptom_single .container #symptom_single_sec .cavity_progress_cont .list .level_box .num {
  font-size: 2.8rem;
}

#symptom_single .container #symptom_single_sec .cavity_treatment_cont > .list .cont_ttl {
  font-size: 2.4rem;
}

#symptom_single .container #symptom_single_sec .cavity_treatment_cont > .list .level_box .level {
  height: 120px;
}

#symptom_single .container #symptom_single_sec .cavity_treatment_cont > .list .level_box .level .ttl {
  padding: 0 5px 5px;
  margin: 0 0 5px;
}

#symptom_single .container #symptom_single_sec .cavity_treatment_cont > .list .level_box .level .num {
  font-size: 2.5rem;
}

#symptom_single .container #symptom_single_sec .solution_box .cont .txt {
  font-size: 1.8rem;
}

#symptom_single .container #symptom_single_sec #whitening_explanations_sec .whitening_explanations_step_wrap > .step_cont .txt_box .ttl_box {
  grid-template-columns: 50px 1fr;
}

#symptom_single .container #symptom_single_sec #whitening_explanations_sec .whitening_explanations_step_wrap > .step_cont .txt_box .ttl_box .step_box {
  height: 50px;
}

#symptom_single .container #symptom_single_sec #whitening_explanations_sec .whitening_explanations_step_wrap > .step_cont .txt_box .ttl_box .step_box > .num {
  font-size: 2rem;
}

#symptom_single .container #symptom_single_sec #whitening_explanations_sec .whitening_explanations_step_wrap > .step_cont .txt_box .ttl_box > .ttl {
  font-size: 1.8rem;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont_wrap .cont_box {
  margin: 5vw 0 0;
  gap: 5vw;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont_wrap .cont_box .cont .ttl {
  font-size: 1.8rem;
}

#symptom_single .container #symptom_single_sec #decayed_normal_mouth_smell_description_sec .reason_wrap .txt_box > .ttl {
  font-size: 1.8rem;
}

/* -----------------------------------------------------------
  component
----------------------------------------------------------- */
/* STEP */
.step_cont_lists > .list .txt_box .ttl_box {
  grid-template-columns: 80px 1fr;
}

.step_cont_lists > .list .txt_box .ttl_box .num_box {
  height: 80px;
}

.step_cont_lists > .list .txt_box .ttl_box .num_box .step_ttl {
  font-size: 1.8rem;
}

.step_cont_lists > .list .txt_box .ttl_box .num_box .num {
  font-size: 3.4rem;
}

.step_cont_lists > .list .txt_box .ttl_box .ttl {
  font-size: 2.4rem;
}

/* row box */
.row_box .txt_box > .ttl {
  font-size: 2.2rem;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#news .container #news_archive_sec {
  padding: 6vw 5vw 20vw;
}

#news .container #news_archive_sec .news_archive_box {
  gap: 5vw;
  margin: 5vw 0 0;
}

#news .container #news_archive_sec .news_archive_box .list {
  padding: 0 0 5vw;
}

#news .container #news_archive_sec .news_archive_box .list .link .info_box {
  order: 1;
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 2vw;
}

#news .container #news_archive_sec .news_archive_box .list .link .info_box .cat {
  font-size: 1.2rem;
}

#news .container #news_archive_sec .news_archive_box .list .link .ttl {
  margin: 15px 0 0;
}

/* -----------------------------------------------------------
 
----------------------------------------------------------- */
#news_single .container .news_single_wrap {
  padding: 6vw 5vw 20vw;
}

}
@media screen and (max-width: 810px){

/* -----------------------------------------------------------
  .hd
----------------------------------------------------------- */
.hd_01 .hd_en {
  font-size: 1.2rem;
}

.hd_01 .hd_jp {
  font-size: 2.2rem;
}

.hd_02 {
  font-size: 2.2rem;
}

.hd_04 .hd_jp {
  font-size: 2.8rem;
}

.hd_05 {
  font-size: 2rem;
}

.hd_06 {
  font-size: 2.2rem;
}

.hd_07 {
  font-size: 1.8rem;
  padding: 0 0 0 25px;
}

.hd_07:before {
  width: 12px;
  height: 12px;
}

/* -----------------------------------------------------------
  header
----------------------------------------------------------- */
header .logo_symbol {
  width: 25px;
}

header .logo_txt .tradename {
  width: 200px;
}

header .logo_txt .en_tradename {
  font-size: 1.4rem;
}

header .head_rt {
  /* display: block;
  position: relative;
  width: 100%; */
}

header .head_rt .tel_box {
  display: none;
}

/* -----------------------------------------------------------
  .nav_box
----------------------------------------------------------- */
.nav_box {
  flex-direction: column-reverse;
}

.nav_box .nav_left {
  background-position: center;
  --padding_04: 10vw 5vw;
  width: 100%;
}

.nav_box .nav_left .nav_info {
  text-align: center;
}

.nav_box .nav_left .nav_info .nav_tel .tel_number a {
  justify-content: center;
}

.nav_box .nav_left .nav_info .nav_tel .recep_time {
  justify-content: center;
}

/* -----------------------------------------------------------
  .contents
----------------------------------------------------------- */
.contents {
  margin-top: 4vw;
}

/* -----------------------------------------------------------
  #information_sec
----------------------------------------------------------- */
#information_sec .info_box .left_box .contact_box .contents .tel_box .tel_number .tel_ttl {
  font-size: 2.2rem;
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .tel_number .tel_num {
  font-size: 3.4rem;
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .recep_time > dl {
  display: block;
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .recep_time > dl > dt:after {
  content: "";
  margin-left: 0;
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .recep_time > dl > dt:before {
  content: "";
  margin-left: 0;
  margin-right: 0.15em;
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .recep_time > dl > dd > ul > li > dl > dt {
  flex: 0 1 3.5em;
  text-align: left;
}

#information_sec .info_box .left_box .access_box {
  margin-left: 5vw;
}

/* -----------------------------------------------------------
  footer
----------------------------------------------------------- */
footer .map_box .map iframe {
  height: 350px;
}

footer .foot_box .upside_box {
  flex-direction: column-reverse;
  justify-content: flex-start;
}

footer .foot_box .upside_box .left_box {
  margin-right: 0;
  margin-top: 5vw;
}

footer .foot_box .upside_box .left_box .add_box {
  display: flex;
}

footer .foot_box .upside_box .left_box .add_box .address_box .logo_box figure svg {
  width: 250px;
}

footer .foot_box .upside_box .left_box .add_box .bnr_box {
  flex: 1 1;
  margin-left: 3vw;
  margin-top: 0;
  width: auto;
  /* width: 100%; */
}

footer .foot_box .upside_box .left_box .add_box .bnr_box ul {
  display: flex;
  gap: 20px;
}

footer .foot_box .upside_box .left_box .add_box .bnr_box > ul > li:not(:first-of-type) {
  margin-top: 0;
}

footer .foot_box .upside_box .left_box .add_box .tagline {
  font-size: 1.2rem;
}

footer .foot_box .upside_box .left_box .add_box .address_box .logo_box {
  margin-top: 10px;
}

footer .foot_box .upside_box .left_box .add_box .address_box .address {
  font-size: 1.4rem;
  margin-top: 10px;
}

/* -----------------------------------------------------------
  TOP
----------------------------------------------------------- */
#top main .main_wrap:after {
  width: 60vw;
}

#top main .main {
  height: calc(60vh - 80px);
  padding-bottom: 30px;
}

#top main .main .swiper-slide {
  background-position: center left;
}

#top main .main .mv_ttl .mv_ttl_jp {
  font-size: 3.6rem;
}

#top main .main .mv_ttl .mv_ttl_en {
  font-size: 1.8rem;
  margin-top: 10px;
}

#top main .main .main_bnr {
  right: 10px;
}

#top main .main .main_bnr picture {
  width: 240px;
}

#top main .main .main_topics {
  bottom: 30px;
}

#top main .main .main_topics a dl dd .post_ttl {
  width: 20em;
}

#top .container #concept_sec .concept_box .txt_box {
  padding: 6.5vw calc(6.5vw + 25.5vw) 6.5vw 6.5vw;
}

#top .container #concept_sec .concept_box .txt_box .contents .btn_box {
  margin-top: 4vw;
}

#top .container #clinical_sec .clinical_box .txt_box .contents .examination_box .examination a .examination_icn {
  padding: 10px 15px;
}

#top .container #clinical_sec .clinical_box .txt_box .contents .examination_box .examination a .examination_txt .examination_ttl {
  font-size: 1.8rem;
}

#top .container #clinical_sec .clinical_box .txt_box .contents .examination_box .examination a .examination_txt {
  padding: 0 20px;
}

#top .container #services_sec .services_box .contents .services_list {
  gap: 40px;
  width: calc(100% + 40px);
}

#top .container #services_sec .services_box .contents .services_list .services {
  width: calc(100% / 2 - 40px);
}

#top .container #services_sec .services_box .contents .services_list .services .txt_box .case_number .number {
  font-size: 3.6rem;
}

#top .container #services_sec .services_box .contents .services_list .services .txt_box .case_ttl {
  font-size: 2.0rem;
}

#top .container #message_sec .message_box .pic_box {
  width: 38vw;
}

#top .container #message_sec .message_box .txt_box .contents .btn_box {
  margin-top: 4vw;
}

/* -----------------------------------------------------------
	breadcrumb
----------------------------------------------------------- */
.breadcrumb {
  font-size: 1.2rem;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#about .container #concept_sec {
  padding: 15vw 0;
}

#about .container #doctor_sec {
  padding: 10vw 5vw;
  background: var(--color_06);
}

#about .container #doctor_sec .doctor_box {
  background: #fff;
  padding: 5vw 4.5vw;
  margin: 5vw 0 0;
}

#about .container #doctor_sec .doctor_box .txt_box .ttl {
  font-size: 2.5rem;
}

#about .container #doctor_sec .doctor_box .txt_box .sign_img .img {
  width: 25vw;
}

#about .container #doctor_sec .doctor_box .career_box {
  margin: 10vw 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 5vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#treatment .container .lower_head_box .obj {
  bottom: -1vw;
  top: auto;
}
#treatment .container #example_primary_sec,
#treatment .container #example_tertiary_sec {
  padding: 5vw;
}

#treatment .container #example_secondary_sec {
  padding: 5vw;
}

#treatment .container .treatment_sec .sec_ttl .num {
  font-size: 3.8rem;
}

#treatment .container .treatment_sec .sec_ttl .txt {
  font-size: 2.2rem;
}

#treatment .container .treatment_sec .treatment_cont .cont_ttl {
  font-size: 1.8rem;
}

#treatment .container .treatment_sec .treatment_cont .cont_ttl:before {
  width: 12px;
  height: 12px;
  left: -25px;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#cost .container #cost_sec .cost_cont_box .cost_cont_sec > .ttl_box .ttl {
  font-size: 2.2rem;
}

#cost .container #cost_sec .cost_cont_box .cost_cont_sec > .ttl_box .ttl:after {
  height: 8px;
  background-image: linear-gradient(var(--color_04) 0 10%, #fff 10% 50%,var(--color_04) 50%);
}

#cost .container #cost_sec .cost_cont_box .cost_cont_sec .cost_wrap .cost_box .txt_box .txt {
  margin: 1.5vw 0 0;
  padding: 0;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#access .container #access_sec .access_cont_wrap {
  grid-template-columns: 1fr;
  gap: 5vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#symptom .container #cavity_progress_sec .cont_box .cavity_progress_cont {
  grid-template-columns: repeat(2,1fr);
  gap: calc(1vw + 25px) 1vw;
}

#symptom .container #symptom_sec .symptom_cont_sec > .ttl {
  font-size: 2.6rem;
}


#symptom .container #cavity_care_sec .cont_wrap .cont_box > .ttl {
  font-size: 2.2rem;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#recruit .container #recruit_sec .recruit_sec .sec_ttl {
  font-size: 2rem;
}

#recruit .container #recruit_sec .cta_wrap .cta_box {
  padding: 2vw 2.5vw;
  gap: 2vw;
  flex-direction: column;
}

#recruit .container #recruit_sec .cta_wrap .cta_box:before {
  width: calc(100% - 1vw);
  height: calc(100% - 1vw);
}

#recruit .container #recruit_sec .cta_wrap .cta_box > .ttl {
  text-align: center;
}

#recruit .container #recruit_sec .cta_wrap .cta_box .tel_box .ttl {
  font-size: 2.6rem;
}

#recruit .container #recruit_sec .cta_wrap .cta_box .tel_box .num {
  font-size: 3.6rem;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#guide .container .guide_sec .contents .guide_cont_box {
  align-items: flex-start;
}

#guide .container .guide_sec .contents .guide_cont_box .txt_box p {
  line-height: 2;
}

	

/* -----------------------------------------------------------

----------------------------------------------------------- */
#symptom_single .container .relation_btn_wrap {
  grid-template-columns: repeat(2,1fr);
}

#symptom_single .container .relation_btn_wrap .btn_box {
  padding: 0 20px 0 0;
}

#symptom_single .container .relation_btn_wrap .btn_box .case_box .num {
  font-size: 2rem;
}

#symptom_single .container #symptom_single_sec .sec_ttl {
  font-size: 2.6rem;
}

#symptom_single .container #symptom_single_sec .cavity_progress_cont .list .level_box .num {
  font-size: 2.6rem;
}

#symptom_single .container #symptom_single_sec .cavity_treatment_cont > .list {
  padding: calc(80px + 4vw) 3vw 4vw;
}

#symptom_single .container #symptom_single_sec .cavity_treatment_cont > .list .cont_ttl {
  font-size: 2.2rem;
}

#symptom_single .container #symptom_single_sec .cavity_treatment_cont > .list .cont_box {
  grid-template-columns: 1fr;
}

#symptom_single .container #symptom_single_sec .cavity_treatment_cont > .list .level_box .level {
  height: 80px;
}

#symptom_single .container #symptom_single_sec .cavity_treatment_cont > .list .level_box {
  grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
}

#symptom_single .container #symptom_single_sec .cavity_treatment_cont > .list .level_box .level .num {
  font-size: 2rem;
}

#symptom_single .container #symptom_single_sec .circle_ttl {
  width: 75px;
  height: 75px;
  flex-basis: 75px;
  font-size: 1.4rem;
}

#symptom_single .container #symptom_single_sec #painful_tooth_sense_info .tooth_sense_info_cont .solution_cont_wrap .hd_05 {
  font-size: 2rem;
}

#symptom_single .container #symptom_single_sec .reason_wrap {
  padding: 4vw;
  grid-template-columns: 250px 1fr;
  gap: 4vw;
}

#symptom_single .container #symptom_single_sec .reason_wrap > .txt_box {
  padding: 0;
}

#symptom_single .container #symptom_single_sec .solution_box {
  padding: 90px 0 0;
}

#symptom_single .container #symptom_single_sec .solution_box:before {
  width: 33px;
  height: 27px;
  top: 30px;
}

#symptom_single .container #symptom_single_sec #whitening_strengthening_combo_sec .contents .whitening_cont > .tooth_strength_box {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 4vw;
}

#symptom_single .container #symptom_single_sec #whitening_strengthening_combo_sec .contents .whitening_cont > .tooth_strength_box .txt_box .ttl {
  font-size: 2rem;
}

#symptom_single .container #symptom_single_sec .ba_cont .cont > .ttl {
  font-size: 1.8rem;
}

#symptom_single .container #symptom_single_sec #whitening_explanations_sec .whitening_explanations_step_wrap {
  grid-template-columns: 1fr;
  gap: 5vw;
  padding: 5vw;
}

#symptom_single .container #symptom_single_sec #whitening_explanations_sec .whitening_explanations_step_wrap > .step_cont:not(:first-of-type) {
  padding-top: 4vw;
  border-top: 1px solid var(--color_05);
}

#symptom_single .container #symptom_single_sec #whitening_explanations_sec .whitening_explanations_step_wrap > .step_cont .txt_box {
  gap: 2vw;
}

#symptom_single .container #symptom_single_sec #whitening_explanations_sec .whitening_explanations_step_wrap > .step_cont .txt_box .ttl_box {
  gap: 2vw;
}

/* -----------------------------------------------------------
  component
----------------------------------------------------------- */
/* row box */
.row_box .txt_box > .ttl {
  font-size: 2rem;
}

/* -----------------------------------------------------------
 
----------------------------------------------------------- */
#news_single .container .news_single_wrap .news_single_box > .single_ttl {
  font-size: 2rem;
}

#news_single .container .news_single_wrap .news_single_box > .info_box {
  grid-template-columns: 150px 1fr;
}

#news_single .container .news_single_wrap .news_single_box > .info_box .cat {
  font-size: 1.4rem;
}

#news_single .container .news_single_wrap .news_single_box > .news_content {
  margin: 5vw 0 0;
}

}

@media screen and (max-width: 520px){

body {
  font-size: 1.5rem;
}

/* -----------------------------------------------------------
  .sp_tel
----------------------------------------------------------- */
.sp_tel {
  pointer-events: all;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
.hit_05 {
  height: 45px;
}

/* -----------------------------------------------------------
  .hd
----------------------------------------------------------- */
.hd_01 .hd_en {
  font-size: 1.1rem;
}

.hd_01 .hd_jp {
  font-size: 2.0rem;
}

.hd_01:before {
  background-color: var(--color_02);
  width: 90px;
}

.hd_01:after {
  background-color: var(--color_03);
  width: 30px;
}

.hd_02 {
  font-size: 2.0rem;
}

.hd_03 .hd_en {
  font-size: 1.4rem;
  margin: 0 0 5px;
}

.hd_03 .hd_ja {
  font-size: 2.2rem;
}

.hd_04 .hd_en {
  font-size: 1.1rem;
  margin-bottom: 5px;
}

.hd_04 .hd_jp {
  font-size: 2.0rem;
}

.hd_06 {
  font-size: 2rem;
  padding: 0;
}

.hd_07 {
  font-size: 1.6rem;
}

/* -----------------------------------------------------------
  header
----------------------------------------------------------- */
header {
  height: 60px;
  padding-left: 2vw;
}

header .logo_symbol {
  width: 30px;
}

header .logo_txt {
  align-items: flex-start;
  flex-direction: column;
  margin-left: 10px;
}

header .logo_txt .tradename {
  display: block;
  margin-left: 0;
  width: 150px;
}

header .logo_txt .en_tradename {
  font-size: 1.2rem;
  margin-left: 0;
  margin-top: 5px;
}

/*----------------------------------------------------
  toggle-panel
----------------------------------------------------*/
#panel-btn {
  height: 60px;
  width: 60px;
  margin-left: 0;
  position: fixed;
  top: 0;
  right: 0;
}

#panel-btn-icon {
  width: 30px;
}

#panel-btn-icon:before,
#panel-btn-icon:after {
  width: 30px;
}

#panel-btn .close:before,
#panel-btn .close:after {
  width: 30px;
}

#panel-btn-text {
  font-size: 1.1rem;
  margin-top: 15px;
}

/* -----------------------------------------------------------
  .nav_box
----------------------------------------------------------- */
.nav_box {
  display: block;
}

.nav_box.open {
  overflow-y: auto;
}

.nav_box .nav_left {
  --padding_04: 17.5vw 5vw;
}

.nav_box .nav_left .nav_info .tagline {
  font-size: 1.4rem;
}

.nav_box .nav_left .nav_info .address_box .logo_box figure svg {
  width: 250px;
}

.nav_box .nav_left .nav_info .nav_tel .tel_number .tel_ttl {
  font-size: 2.2rem;
  margin-right: 5px;
}

.nav_box .nav_left .nav_info .nav_tel .tel_number .tel_num {
  font-size: 3.2rem;
}

.nav_box .nav_left .nav_info .nav_tel .recep_time {
  font-size: 1.1rem;
}

.nav_box .nav_right {
  padding: 10vw 5vw;
  overflow: hidden;
}

.nav_box .nav_right .g_nav .nav .menu_list li {
  width: calc(100% / 2 - 10px);
}

.nav_box .nav_right .g_nav .nav:not(:first-of-type) {
  margin-top: 7.5vw;
}

.nav_box .nav_right .g_nav .nav .parent .menu_ttl {
  width: calc(100% / 2 - 20px);
}

.nav_box .nav_right .bnr_box {
  margin-top: 7.5vw;
}

.nav_box .nav_right .bnr_box ul {
  flex-direction: column;
  gap: 5vw;
}

/* -----------------------------------------------------------
  .contents
----------------------------------------------------------- */
.contents {
  margin-top: 5vw;
}

/* -----------------------------------------------------------
  #conference_sec
----------------------------------------------------------- */
#conference_sec .conference_box {
  gap: 3vw;
  width: calc(100% + 3vw);
}

#conference_sec .conference_box figure {
  width: calc(100% / 2 - 3vw);
}

/* -----------------------------------------------------------
  #information_sec
----------------------------------------------------------- */
#information_sec .info_box .left_box {
  display: block;
}

#information_sec .info_box .left_box .access_box {
  margin-left: 0;
  margin-top: 7.5vw;
}

#information_sec .info_box .left_box .contact_box .contents .tel_box .recep_time {
  margin-top: 3vw;
}

#information_sec .info_box .left_box .access_box .contents .acc_box > ul > li {
  margin-top: 3vw;
}

#information_sec .info_box .left_box .access_box .contents .acc_box > ul > li .acc_list {
  font-size: 1.3rem;
}

#information_sec .info_box .right_box {
  margin-top: 10vw;
}

#information_sec .info_box .right_box .calendar_box {
  padding: 10px;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in {
  padding: 15px;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub {
  margin-top: 5vw;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub .exam_box .exam {
  display: block;
  font-size: 1.4rem;
  margin-top: 3vw;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub .exam_box .exam .exam_detail {
  display: block;
  margin-top: 2vw;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub .exam_box .exam .exam_detail .exam_pm:before {
  content: "";
  margin: 0;
}

#information_sec .info_box .right_box .calendar_box .calendar_box_in .calendar_sub .note {
  margin-top: 5vw;
}

/* -----------------------------------------------------------
  footer
----------------------------------------------------------- */
footer .map_box .map iframe {
  aspect-ratio: var(--aspect-ratio_16_9);
  height: auto;
}

footer .foot_box .upside_box .right_box .foot_nav {
  flex-direction: column;
  gap: 7.5vw;
}

footer .foot_box .upside_box .left_box {
  margin-top: 10vw;
}

footer .foot_box .upside_box .left_box .add_box {
  display: block;
}

footer .foot_box .upside_box .left_box .add_box .tagline {
  font-size: 1.45rem;
}

footer .foot_box .upside_box .left_box .add_box .address_box .logo_box {
  margin-top: 15px;
}

footer .foot_box .upside_box .left_box .add_box .address_box .logo_box figure svg {
  width: 300px;
}

footer .foot_box .upside_box .left_box .add_box .address_box .address {
  font-size: 1.5rem;
  margin-top: 15px;
}

footer .foot_box .upside_box .left_box .add_box .bnr_box {
  margin-left: 0;
  margin-top: 7.5vw;
}

footer .foot_box .upside_box .left_box .add_box .bnr_box ul {
  /* display: block; */
  gap: 15px;
}

footer .foot_box .upside_box .left_box .add_box .bnr_box > ul > li:not(:first-of-type) {
  /* margin-top: 5vw; */
}

footer .foot_box .downside_box {
  display: block;
  margin-top: 10vw;
}

footer .foot_box .downside_box .copyright {
  margin-top: 3vw;
}

/* -----------------------------------------------------------
  TOP
----------------------------------------------------------- */
#top main .main {
  display: flex;
  flex-direction: column-reverse;
  height: calc(100% - 60px);
  padding-bottom: 5vw;
}

#top main .main .swiper-slide {
  background-position: center;
  height: 45vh;
}

#top main .main .swiper-slide.slide_dentist {
  background-position: center top -15vw;
  background-size: 150%;
}

#top main .main .mv_ttl .mv_ttl_jp {
  font-size: 2.0rem;
}

#top main .main .mv_ttl {
  height: 100%;
  margin-left: 5vw;
}

#top main .main .mv_ttl .mv_ttl_en {
  font-size: 1.4rem;
  letter-spacing: var(--letter-spacing_02);
}

#top main .main .main_topics {
  position: inherit;
  bottom: 0;
  order: 0;
}

#top main .main .main_topics a {
  height: auto;
  padding: 5vw;
}

#top main .main .main_topics a dl {
  display: block;
  width: 100%;
}

#top main .main .main_topics a dl dt {
  /* display: none; */
  margin-top: -1.75em;
}

#top main .main .main_topics a dl dt:before,
#top main .main .main_topics a dl dt:after {
  content: none;
}

#top main .main .main_topics a dl dd {
  margin-left: 0;
  /* margin-top: 5vw; */
}

#top main .main .main_topics a dl dd .post_ttl {
  width: 100%;
}

#top main .main .main_bnr {
  position: inherit;
  right: 0;
  margin-top: 5vw;
  order: -1;
  padding: 0 5vw;
}

#top main .main .main_bnr picture {
  margin-top: 2.5vw;
  width: 100%;
}

#top .container #concept_sec:before {
  top: 1vw;
  width: calc(100% - 2vw);
  z-index: 0;
}

#top .container #concept_sec .concept_box {
  display: flex;
  flex-direction: column-reverse;
}

#top .container #concept_sec .concept_box .pic_box {
  position: inherit;
  z-index: 0;
}

#top .container #concept_sec .concept_box .pic_box picture {
  width: 100%;
}

#top .container #concept_sec .concept_box .pic_box picture img {
  height: 250px;
  object-fit: cover;
}

#top .container #concept_sec .concept_box .txt_box {
  padding: 5vw;
}

#top .container #concept_sec .concept_box .txt_box .contents .lead_box {
  margin-top: 4vw;
}

#top .container #clinical_sec .clinical_box .txt_box .contents .examination_box {
  display: block;
  width: 100%;
}

#top .container #clinical_sec .clinical_box .txt_box .contents .examination_box .examination {
  margin-top: 3vw;
  width: 100%;
}

#top .container #clinical_sec .clinical_box .txt_box .contents .examination_box .examination:first-of-type {
  margin-top: 0;
}

#top .container #clinical_sec .clinical_box .txt_box .contents .examination_box .examination a .examination_icn figure {
  width: 50px;
}

#top .container #clinical_sec .clinical_box .txt_box .contents .examination_box .examination a .examination_txt .examination_ttl {
  font-size: 1.6rem;
}

#top .container #clinical_sec .clinical_box .txt_box .contents .examination_box .examination a .examination_txt .examination_lead {
  margin-top: 10px;
}

#top .container #services_sec .services_box .contents .services_list {
  display: block;
  width: 100%;
}

#top .container #services_sec .services_box .contents .services_list .services {
  margin-top: 7.5vw;
  width: 100%;
}

#top .container #services_sec .services_box .contents .services_list .services:first-of-type {
  margin-top: 0;
}

#top .container #services_sec .services_box .contents .services_list .services .txt_box .case_number .number {
  font-size: 3.0rem;
}

#top .container #services_sec .services_box .contents .services_list .services .txt_box .case_ttl {
  font-size: 1.8rem;
  margin-top: 3.5vw;
}

#top .container #services_sec .services_box .contents .services_list .services .txt_box .lead_box {
  margin-top: 2.5vw;
}

#top .container #services_sec .services_box .contents .services_list .services .txt_box .btn_box {
  margin-top: 3vw;
}

#top .container #message_sec {
  padding: 0;
}

#top .container #message_sec .message_box {
  flex-direction: column-reverse;
}

#top .container #message_sec .message_box .txt_box {
  flex: 0 1 auto;
  margin-left: 0;
  padding: 5vw;
}

#top .container #message_sec .message_box .pic_box {
  margin-top: 0;
  width: 100%;
}

#top .container #message_sec:before {
  top: -10vw;
  width: calc(100% - 2vw);
}

#top .container #recruit_sec {
  padding: 0;
}

#top .container #recruit_sec:before {
  top: -14vw;
  width: calc(100% - 2vw);
}

#top .container #recruit_sec .recruit_box {
  flex-direction: column-reverse;
}

#top .container #recruit_sec .recruit_box .txt_box {
  flex: 0 1 auto;
  margin-left: 0;
  padding: 5vw;
}

#top .container #recruit_sec .recruit_box .pic_box {
  margin-top: 0;
  width: 100%;
}

/* -----------------------------------------------------------
	lower main visual
----------------------------------------------------------- */
.lower_mv_wrap {
  padding: 0 0 3vw;
}
.lower_mv_wrap .contents {
  padding: 0;
  margin: 0 0 3vw;
}
.lower_mv_wrap .contents .img_box {
  height: 40vw;
  min-height: 0;
}

/* -----------------------------------------------------------
	breadcrumb
----------------------------------------------------------- */
.breadcrumb {
  font-size: 1rem;
  padding: 0 2vw 10px;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#about .container #concept_sec {
  padding: 10vw 0;
}
#about .container #concept_sec .concept_box {
  display: flex;
  flex-direction: column;
}
#about .container #concept_sec .contents .hd_02 .sp {
  display: block;
}
#about .container #concept_sec .concept_box .txt_box {
  padding: 5vw 0 0;
  order: 2;
}
#about .container #concept_sec .concept_box .pic_box {
  position: initial;
  width: 100%;
  order: 1;
}
#about .container #concept_sec .concept_box .pic_box .img {
  object-fit: cover;
  width: 100%;
  height: 250px;
}

#about .container #doctor_sec .doctor_box .doctor_img {
  float: none;
  margin: 0 0 5vw 0;
  width: 100%;
}

#about .container #doctor_sec .doctor_box .doctor_img .img {
  object-fit: cover;
  object-position: top;
  width: 100%;
  height: 250px;
}

#about .container #doctor_sec .doctor_box .txt_box .ttl:after {
  width: 100%;
}

#about .container #doctor_sec .doctor_box .txt_box .profile_box {
  margin: 5vw 0 0;
}

#about .container #doctor_sec .doctor_box .txt_box .profile_box .name .ja {
  font-size: 2rem;
}

#about .container #doctor_sec .doctor_box .txt_box p + p {
  margin: 5vw 0 0;
}

#about .container #doctor_sec .doctor_box .txt_box .sign_img .img {
  width: 40vw;
}

#about .container #doctor_sec .doctor_box .other_site_box {
  padding: 5vw 0 0;
  grid-template-columns: repeat(2,1fr);
}

#about .container #interior_sec {
  padding: 10vw 5vw;
}

#about .container #interior_sec .contents .interior_img_box {
  margin-top: 5vw;
  display: block;
}

/* -----------------------------------------------------------
  lower information sec
----------------------------------------------------------- */
#lower_info_sec .bnr_box {
  display: grid;
  grid-template-columns: 1fr;
  gap: 5vw;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#guide .container .guide_nav_box .lower_head_box .guide_nav_lists .guide_nav {
  font-size: 1.4rem;
}

#guide .container .guide_nav_box .lower_head_box .guide_nav_lists .guide_nav a:after {
  margin: 0 0 0 10px;
}

#guide .container .guide_nav_box .lower_head_box .guide_nav_lists {
  grid-template-columns: repeat(2,1fr);
  gap: 1vw;
}

#guide .container .guide_sec .contents .guide_cont_box {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 4.5vw;
}

#guide .container .guide_sec .contents .guide_cont_box .pic_box {
  order: 1;
}

#guide .container .guide_sec .contents .guide_cont_box .txt_box {
  order: 2;
}

#guide .container .guide_sec .contents .painless_box {
  margin-top: 5vw;
  flex-direction: column;
  gap: 3vw;
}

#guide .container .guide_sec .contents .painless_box .painless_txt {
  flex: 0 1 auto;
  padding: 15px;
}

#guide .container .guide_sec .contents .painless_box .painless_txt dl dt {
  font-size: 1.5rem;
}

#guide .container .guide_sec .contents .painless_box .painless_txt dl dd {
  margin-top: 1vw;
}

#guide .container .guide_sec .contents .guide_cont_box .pic_box .img {
  width: 100%;
  height: 250px;
  object-fit: cover;
}

#guide .container .guide_sec .guide_sec_ttl {
  font-size: 2rem;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#treatment .container .lower_head_box .treatment_nav_box .treatment_nav_lists {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3vw;
}
#treatment .container .lower_head_box .treatment_nav_box .treatment_nav_lists .treatment_nav {
  width: 100%;
}
#treatment .container .lower_head_box .treatment_nav_box .treatment_nav_lists .treatment_nav .link {
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: 0 0 2vw;
  border-bottom: 1px solid var(--color_03);
}
#treatment .container .lower_head_box .treatment_nav_box .treatment_nav_lists .treatment_nav .link .txt {
  font-size: 1.4rem;
  margin: 0 0 0 2vw;
  flex: 1 1;
  position: relative;
}
#treatment .container .lower_head_box .treatment_nav_box .treatment_nav_lists .treatment_nav .link .txt:after {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
#treatment .container .lower_head_box .treatment_nav_box .treatment_nav_lists .treatment_nav .link .num {
  font-size: 2rem;
}
#treatment .container .treatment_sec .sec_ttl .num {
  font-size: 3rem;
}
#treatment .container .treatment_sec .sec_ttl .txt {
  font-size: 1.8rem;
}
#treatment .container .treatment_sec .treatment_cont {
  padding: 5vw;
}
#treatment .container .treatment_sec .treatment_cont + .treatment_cont {
  margin: 5vw 0 0;
}
#treatment .container .treatment_sec .treatment_cont .cont_ttl {
  font-size: 1.6rem;
}
#treatment .container .treatment_sec .treatment_cont .ba_img_box {
  grid-template-columns: 1fr;
  gap: 5vw;
  margin: 5vw 0 0;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#flow .container #flow_sec {
  padding: 6vw 5vw 20vw;
}

#flow .container #flow_sec .step_cont_lists > .list .txt_box .ttl_box {
  grid-template-columns: 60px 1fr;
}

#flow .container #flow_sec .step_cont_lists > .list .txt_box .ttl_box .num_box {
  height: 60px;
}

#flow .container #flow_sec .step_cont_lists > .list .txt_box .ttl_box .num_box .step_ttl {
  font-size: 1.4rem;
}

#flow .container #flow_sec .step_cont_lists > .list .txt_box .ttl_box .num_box .num {
  font-size: 2.5rem;
}

#flow .container #flow_sec .step_cont_lists > .list .txt_box .ttl_box .ttl {
  font-size: 2rem;
}

#flow .container #flow_sec .step_cont_lists > .list {
  grid-template-columns: 1fr;
  gap: 5vw;
}

#flow .container #flow_sec .step_cont_lists > .list .pic_box {
  order: 1;
}

#flow .container #flow_sec .step_cont_lists > .list .txt_box {
  order: 2;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#cost .container #cost_sec .contents .lead_box {
  font-size: 1.6rem;
}

#cost .container #cost_sec .contents .lead_box .note {
  text-align: left;
}

#cost .container #cost_sec .cost_cont_box .cost_cont_sec > .ttl_box .ttl {
  font-size: 2rem;
  padding: 0 0 15px;
}

#cost .container #cost_sec .cost_cont_box .cost_cont_sec > .ttl_box .ttl:after {
  height: 6px;
  background-image: linear-gradient(var(--color_04) 0 10%, #fff 10% 55%,var(--color_04) 55%);
}

#cost .container #cost_sec .cost_cont_box .cost_cont_sec > .ttl_box .tax {
  font-size: 1.3rem;
  position: initial;
  text-align: right;
  margin: 2vw 0 0;
}

#cost .container #cost_sec .cost_cont_box .cost_cont_sec .cost_wrap {
  gap: 5vw;
}

#cost .container #cost_sec .cost_cont_box .cost_cont_sec .cost_wrap .cost_box {
  grid-template-columns: 1fr;
  gap: 5vw;
  padding: 0 0 5vw;
}

#cost .container #cost_sec .cost_cont_box .cost_cont_sec .cost_wrap .cost_box .txt_box > .ttl_box {
  display: block;
}

#cost .container #cost_sec .cost_cont_box .cost_cont_sec .cost_wrap .cost_box .txt_box > .ttl_box .price {
  font-size: 1.6rem;
}

#cost .container #cost_sec .cost_cont_box .cost_cont_sec .cost_wrap .cost_box .txt_box .txt {
  margin: 2vw 0 0;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#access .container #access_sec .contents .lead_box {
  font-size: 1.6rem;
}

#access .container #access_sec .access_cont_wrap .info_box {
  gap: 5vw;
}

#access .container #access_sec .access_cont_wrap .info_box .info:before {
  margin: 0 2vw 0 0;
}

#access .container #access_sec .access_cont_wrap .info_box .info .googlemap {
  margin: 0 0 0 calc(29px + 2vw);
}

#access .container #access_sec .access_cont_wrap .tel_box .ttl {
  font-size: 2rem;
}

#access .container #access_sec .contents .img_box .img {
  flex-basis: 100%;
}

#access .container #access_sec .contents .img_box .img img {
  height: 200px;
  object-fit: cover;
}

#access .container #access_sec .access_cont_wrap .tel_box .num {
  font-size: 3rem;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#symptom .container #tooth_pain_sec .cont_box {
  grid-template-columns: 1fr;
  gap: 2vw;
}

#symptom .container #tooth_pain_sec .cont_box .pic_box .img {
  height: 200px;
  object-fit: cover;
}

#symptom .container #symptom_sec .symptom_cont_sec > .ttl {
  font-size: 2rem;
  padding-bottom: 10px;
}

#symptom .container #cavity_progress_sec .cont_box .cavity_progress_cont {
  grid-template-columns: 1fr;
  gap: calc(5vw + 25px) 1vw;
}

#symptom .container #cavity_care_sec .cont_wrap {
  grid-template-columns: 1fr;
  gap: 5vw;
}

#symptom .container #cavity_care_sec .cont_wrap .cont_box {
  padding: calc(4vw + 20px) 0 4vw;
  border: 1px solid var(--color_04);
}

#symptom .container #tooth_sense_sec .head_cont {
  grid-template-columns: 1fr;
  gap: 5vw;
  margin: 5vw 0 0;
}

#symptom .container #tooth_sense_sec .head_cont .pic_box .img {
  height: 200px;
  object-fit: cover;
}

#symptom .container #tooth_sense_sec .head_cont .txt_box > .cont > .ttl {
  font-size: 2rem;
}

#symptom .container #tooth_sense_sec .solution_cont_wrap .solution_cont_box {
  grid-template-columns: 1fr;
  gap: 5vw;
}

#symptom .container #tooth_sense_sec .solution_cont_wrap .solution_cont_box .solution_cont:first-of-type {
  grid-column: 1;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#recruit .container #recruit_sec .recruit_sec .sec_pic .img {
  height: 200px;
}

#recruit .container #recruit_sec .recruit_sec .cont_wrap .cont_box .tbl .tr {
  grid-template-columns: 1fr;
}

#recruit .container #recruit_sec .recruit_sec .cont_wrap {
  gap: 5vw;
}

#recruit .container #recruit_sec .recruit_sec .cont_wrap .cont_box .tbl .tr:last-of-type {
  border-bottom: 0;
}

#recruit .container #recruit_sec .recruit_sec .cont_wrap .cont_box .tbl .tr .ttl {
  padding: 2vw 4vw;
}

#recruit .container #recruit_sec .recruit_sec .cont_wrap .cont_box .tbl .tr .txt {
  padding: 2vw 0 4vw;
}

#recruit .container #recruit_sec .cta_wrap .cta_box {
  padding: 4vw;
  gap: 2vw;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#recruit .container #recruit_sec .cta_wrap .cta_box .tel_box {
  justify-content: center;
}

#recruit .container #recruit_sec .cta_wrap .cta_box .tel_box .ttl {
  font-size: 2rem;
}

#recruit .container #recruit_sec .cta_wrap .cta_box .tel_box .num {
  font-size: 3rem;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */
#symptom_single .container .relation_btn_wrap {
  grid-template-columns: 1fr;
  gap: 5vw;
}

#symptom_single .container .relation_btn_wrap .btn_box .relation_btn {
  padding: 1.5vw 5vw;
  min-height: auto;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont .single_sec_ttl_box .order .ttl {
  font-size: 2rem;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont .single_sec_ttl_box .order .num {
  font-size: 4rem;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont .single_sec_ttl_box {
  gap: 5vw;
  margin: 0 0 5vw;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont > .pic_box .img {
  height: 200px;
  object-fit: cover;
}

#symptom_single .container #symptom_single_sec .symptom_single_head_cont > .txt_box {
  text-align: left;
}

#symptom_single .container #symptom_single_sec .sec_ttl {
  font-size: 2rem;
  padding: 0 0 10px;
}

#symptom_single .container #symptom_single_sec .cavity_progress_cont {
  gap: 5vw;
}

#symptom_single .container #symptom_single_sec .cavity_progress_cont .list {
  grid-template-columns: 1fr;
}

#symptom_single .container #symptom_single_sec .cavity_progress_cont .list .level_box {
  flex-direction: row;
  padding: 2vw;
}

#symptom_single .container #symptom_single_sec .cavity_progress_cont .list .level_box .ttl {
  letter-spacing: .1em;
  padding: 0 10px 0 0;
  border-bottom: none;
  border-right: 1px solid #fff;
  margin: 0 10px 0 0;
}

#symptom_single .container #symptom_single_sec .cavity_progress_cont .list .level_box .num {
  font-size: 2rem;
}

#symptom_single .container #symptom_single_sec .cavity_progress_cont .list .cont {
  grid-template-columns: 1fr;
  padding: 4vw;
}

#symptom_single .container #symptom_single_sec .cavity_progress_cont .list .cont .txt_box > .ttl {
  font-size: 1.8rem;
  margin: 0 0 2vw;
  text-align: center;
}

#symptom_single .container #symptom_single_sec .cavity_treatment_cont > .list {
  padding: calc(70px + 5vw) 3vw 5vw;
  gap: 5vw;
}

#symptom_single .container #symptom_single_sec .cavity_treatment_cont > .list .level_box {
  grid-template-columns: repeat(auto-fill, minmax(50px, 1fr));
}

#symptom_single .container #symptom_single_sec .cavity_treatment_cont > .list .level_box .level {
  height: 70px;
}

#symptom_single .container #symptom_single_sec .cavity_treatment_cont > .list .level_box .level .ttl {
  font-size: 1.2rem;
}

#symptom_single .container #symptom_single_sec .cavity_treatment_cont > .list .level_box .level .num {
  font-size: 1.6rem;
}

#symptom_single .container #symptom_single_sec #painful_tooth_sense_info .pic_box .img {
  height: 200px;
  object-fit: cover;
}

#symptom_single .container #symptom_single_sec #painful_tooth_sense_info .tooth_sense_info_cont > .hd_06 {
  margin: 0 0 2.5vw;
}

#symptom_single .container #symptom_single_sec #painful_tooth_sense_info .tooth_sense_info_cont > .txt_box {
  text-align: left;
}

#symptom_single .container #symptom_single_sec #painful_tooth_sense_info .tooth_sense_info_cont .solution_cont_wrap {
  gap: 5vw;
}

#symptom_single .container #symptom_single_sec #painful_tooth_sense_info .tooth_sense_info_cont .solution_cont_wrap .cont_box .cont {
  gap: 5vw;
  grid-template-columns: 1fr;
  padding: 5vw 0;
}

#symptom_single .container #symptom_single_sec #painful_tooth_sense_info .tooth_sense_info_cont .solution_cont_wrap .cont_box .cont .inr {
  gap: 2vw;
  padding: 0 5vw;
}

#symptom_single .container #symptom_single_sec #painful_tooth_sense_info .tooth_sense_info_cont .solution_cont_wrap .cont_box .cont .inr .ttl {
  font-size: 1.8rem;
}

#symptom_single .container #symptom_single_sec .reason_wrap {
  padding: 5vw;
  grid-template-columns: 1fr;
  gap: 5vw;
}

#symptom_single .container #symptom_single_sec .reason_wrap > .pic_box._full {
  text-align: center;
}

#symptom_single .container #symptom_single_sec .reason_wrap > .pic_box .img {
  height: 200px;
  object-fit: cover;
  object-position: top;
  width: 100%;
}

#symptom_single .container #symptom_single_sec .reason_wrap > .pic_box._full .img {
  height: auto;
}

#symptom_single .container #symptom_single_sec .solution_box {
  padding: 50px 0 0;
}

#symptom_single .container #symptom_single_sec .solution_box:before {
  width: 23px;
  height: 17px;
  top: 20px;
}

#symptom_single .container #symptom_single_sec .solution_box .cont .txt {
  font-size: 1.4rem;
  line-height: 2;
}

#symptom_single .container #symptom_single_sec .solution_box .cont .txt br {
  display: none;
}

#symptom_single .container #symptom_single_sec #whitening_strengthening_combo_sec .contents .whitening_cont > .ttl {
  margin: 0 0 2vw;
}

#symptom_single .container #symptom_single_sec #whitening_strengthening_combo_sec .contents .whitening_cont > .tooth_strength_box {
  grid-template-columns: 1fr;
  gap: 2vw;
}

#symptom_single .container #symptom_single_sec #whitening_strengthening_combo_sec .contents .whitening_cont > .tooth_strength_box .txt_box .ttl {
  font-size: 1.8rem;
}

#symptom_single .container #symptom_single_sec #whitening_strengthening_combo_sec .contents .whitening_cont > .tooth_strength_box .txt_box .txt {
  line-height: 2;
}

#symptom_single .container #symptom_single_sec .ba_cont .cont > .ttl {
  font-size: 1.6rem;
}

#symptom_single .container #symptom_single_sec .ba_cont .cont._bf:after {
  width: 8px;
  height: 12px;
  right: -4px;
}

#symptom_single .container #symptom_single_sec #bloom_dental_cavity_protection_sec .reason_wrap > .pic_box .img {
  width: 80%;
}

#symptom_single .container #symptom_single_sec #not_in_mini_implant_info_sec .contents .mini_implant_cont {
  padding: 5vw;
}

#symptom_single .container #symptom_single_sec #not_in_mini_implant_info_sec .contents .mini_implant_cont .mini_implant_box > .ttl {
  font-size: 1.8rem;
  margin: 0 0 2vw;
}

#symptom_single .container #symptom_single_sec #not_in_mini_implant_info_sec .contents .mini_implant_cont .mini_implant_box > .mini_implant_ba_box {
  gap: 5vw;
}

/* -----------------------------------------------------------
  component
----------------------------------------------------------- */
/* STEP */
.step_cont_lists > .list .txt_box .ttl_box {
  grid-template-columns: 60px 1fr;
}

.step_cont_lists > .list .txt_box .ttl_box .num_box {
  height: 60px;
}

.step_cont_lists > .list .txt_box .ttl_box .num_box .step_ttl {
  font-size: 1.4rem;
}

.step_cont_lists > .list .txt_box .ttl_box .num_box .num {
  font-size: 2.5rem;
}

.step_cont_lists > .list .txt_box .ttl_box .ttl {
  font-size: 2rem;
}

.step_cont_lists > .list {
  grid-template-columns: 1fr;
  gap: 5vw;
}

.step_cont_lists > .list .pic_box {
  order: 1;
}

.step_cont_lists > .list .txt_box {
  order: 2;
}
/* row box */
.row_box {
  grid-template-columns: 1fr;
  gap: 4vw;
}

.row_box .pic_box .img {
  object-fit: cover;
  height: 200px;
}

.row_box .txt_box > .txt {
  font-size: 1.6rem;
  margin: 2vw 0 0;
}

.row_box .txt_box > .txt h5 {
  font-size: 1.6rem;
}

.row_box._reverse .txt_box {
  order: 2;
}

.row_box._reverse .pic_box {
  order: 1;
}

/* -----------------------------------------------------------

----------------------------------------------------------- */

/* -----------------------------------------------------------
  pager
----------------------------------------------------------- */
.pager_num .pager_list .page-numbers {
  padding: 0 15px;
  font-size: 1.4rem;
}

.pager_num .around_btn {
  font-size: 1.2rem;
  letter-spacing: .4em;
}

.pager_num .around_btn._next {
  padding: 0 20px 0 0;
}

.pager_num .around_btn._prev {
  padding: 0 0 0 20px;
}

.pager_num .around_btn._prev:before,
.pager_num .around_btn._next:before {
  content: "";
  width: 15px;
  height: 5px;
  background: url(../img/common/arrow01.svg) no-repeat center / contain;
  position: absolute;
  top: 0;
}

/* -----------------------------------------------------------
  pager prev next
----------------------------------------------------------- */
.pager_prev_next .prev {
  padding: 0 0 0 20px;
}

.pager_prev_next .next {
  padding: 0 20px 0 0;
}

.pager_prev_next .around {
  font-size: 1.2rem;
}

.pager_prev_next .prev:before,
.pager_prev_next .next:before {
  width: 15px;
  height: 5px;
}

.pager_prev_next .back a {
  width: 125px;
  font-size: 1.4rem;
  height: 45px;
}

.pager_prev_next .back a:after {
  width: 25px;
  right: -13px;
}


/* -----------------------------------------------------------

----------------------------------------------------------- */
#news_single .container .news_single_wrap .news_single_box > .single_ttl {
  font-size: 1.8rem;
  margin: 0 0 2.5vw;
}

#news_single .container .news_single_wrap .news_single_box > .info_box {
  grid-template-columns: 125px 1fr;
  gap: 4vw;
}

#news_single .container .news_single_wrap .news_single_box > .info_box .cat {
  height: 26px;
  font-size: 1.2rem;
}

/* -----------------------------------------------------------
  WP Simple Booking Calendar
----------------------------------------------------------- */

.wpbc-wrapper {
  padding: 10px;
}

.wpbc-inr {
  padding: 15px;
}

.wpsbc-calendar-wrapper table th {
  padding: 0 0 15px;
}

.calendar_sub {
  margin-top: 5vw;
}

.calendar_sub .exam_box .exam {
  display: block;
  font-size: 1.4rem;
  margin-top: 3vw;
}

.calendar_sub .exam_box .exam .exam_detail {
  display: block;
  margin-top: 2vw;
}

.calendar_sub .exam_box .exam .exam_detail .exam_time {
  display: flex;
}

.calendar_sub .exam_box .exam .exam_detail .exam_time span:nth-of-type(2) {
  flex: 1 1;
  margin-left: 10px;
}

.calendar_sub .exam_box .exam .exam_detail .exam_pm:before {
  content: "";
  margin: 0;
}

.calendar_sub .note {
  font-size: 1.5rem;
  margin-top: 5vw;
}

}

@media screen and (max-width: 1600px){
#symptom_single .container .relation_btn_wrap.case2 {
    padding: 6vw 8vw 0;
}
section#wisdom_teeth_features ol li {
    height: 140px;
}
}


@media screen and (min-width:768px) and ( max-width:1600px) {
.sp_none {
    display: block;
}
}





@media screen and (max-width: 1440px){
	
/* -----------------------------------------------------------
 
----------------------------------------------------------- */	


#symptom_single .container #painful_cavity_progress_sec.reason_wrap {
    grid-template-columns: auto;
}
#symptom_single .container .relation_btn_wrap.case2 {
    grid-template-columns: repeat(2,1fr);
}

#symptom_single .container #symptom_single_sec .reason_wrap {
    grid-template-columns: auto;
}
	
#symptom_single .container .relation_btn_wrap.case2 {
    gap: 20px;
    padding: 6vw 5vw 0;
}
.hd_08 {
    font-size: 2.5rem;
    margin-top: 10px;
    width: 200px;
}
.stomatitis_single_sec ol li.list {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}	
.stomatitis_single_sec ol li {
    display: block;
    margin-bottom: 30px;
}
section#painful_cavity_progress_sec {
    padding: 5vw 5vw 5vw;
}
.stomatitis_single_sec ol li p:nth-child(1) {
    font-size: 16px;
}
.stomatitis_single_sec ol li div p {
    font-size: 14px;
}
section#painful_cavity_progress_sec ol {
    margin-bottom: 0;
}
section#wisdom_teeth_features div {
    display: block;
    margin-bottom: 0;
}
section#wisdom_teeth_features div img {
    margin-bottom: 10px;
}
section#wisdom_teeth_features {
    padding: 5vw 5vw;
}	
section#wisdom_teeth_features ol li {
    width: 100%;
    height: auto;
    margin: 0;
    margin-bottom: 30px;
}
section#wisdom_teeth_features ol li p:nth-child(1) {
    font-size: 18px;
}
section#wisdom_teeth_features ol li p {
    font-size: 14px;
}
section#wisdom_teeth_features ol li:nth-child(odd) {
    margin-right: 0;
}
#symptom_single .container section#wisdom_teeth_features .solution_box .cont .txt {
    font-size: 2rem;
}
section#treatment.bakfff {
    background: #Fff;
    padding: 5vw 5vw 5vw;
}
#structure ul {
    display: block;
    padding: 0;
    margin: 0;
}
#structure ul li {
    margin: 0;
    margin-bottom: 3%;
    padding-top: 5%;
    width: 100%;
    display: block;
    max-width: 100%;
}
#structure ul li p:nth-child(2) {
    line-height: 2;
}
#structure ul li span.number {
    font-size: 25px;
}
#structure ul li p:nth-child(1) {
    font-size: 18px;
}
section#method_of_treatment ul li {
    width: 100%;
    margin-bottom: 20px;
}
section#method_of_treatment {
    padding: 5vw 5vw;
}
#method_of_treatment .about_list {
    display: block;
}
#method_of_treatment .about_item {
    width: 100%;
    margin-top: 20px;
    margin-bottom: 10px;
}
#method_of_treatment h4.sub_ttl {
    margin-bottom: 5px;
    font-size: 2rem;
}
section#treatment.bakfff h2.ttl.pattern2 {font-size: 2rem;}
#method_of_treatment ul li p:nth-child(1) span:nth-child(1) { font-size: 18px; margin-bottom: 0; }
#method_of_treatment ul li p:nth-child(1) span:nth-child(2) { font-size: 18px;}
#symptom_single .container #symptom_single_sec .symptom_single_head_cont_wrap .cont_box .cont .ttl.pattern2 {
    font-size: 2rem;
}
section#treatment.bakfff h2.ttl.pattern2 {}

h2.ttl.pattern2 {
    font-size: 20px;
}
section#treatment.bakfff h2.ttl.pattern2 {
    font-size: 20px;
}
#structure p {
    font-size: 14px;
}
#self_care ol {
    display: block;
}
#self_care ol li {
    width: 100%;
    margin-bottom: 20px;
}
#self_care ol li p:nth-child(1) {
    line-height: 1;
    padding-top: 10px;
    padding-bottom: 10px;
}
#self_care ol li p:nth-child(1) span:nth-child(1) {
    font-size: 18px;
}
#self_care ol li p:nth-child(1) span:nth-child(2) {
    font-size: 18px;
}
#self_care ol li p:nth-child(2) {
    padding: 3%;
}
section#painful_cavity_progress_sec div img.px_adjustment {
    width: 100%;
}
section#treatment {
    padding: 5vw 5vw 5vw;
}
section#painful_cavity_progress_sec div img {
    margin: auto;
    display: block;
}
section#wisdom_teeth_features div img {
    width: 49%;
}
.stomatitis_single_sec ol li img {
    max-width: 600px;
    width: 100%;
}
section#painful_cavity_progress_sec ol.treatment_example div {
    width: 100%;
}
}

@media screen and (max-width: 700px){

section#wisdom_teeth_features div {
    display: block;
    margin-bottom: 0;
}
section#wisdom_teeth_features div img {
    width: 100%;
}
.case_item {
    max-width: 562px;
    width: 46.8333%;
}
#symptom_single .container .relation_btn_wrap.case2 {
    grid-template-columns:auto;
}
}