main {
  overflow-x: hidden;
}
/*============================
#fv
============================*/

main #fv .inner .fv_mainCopy {
    margin-bottom: min(calc(50/1200*100vw),50px);
    margin-bottom: 0.5em;
}

main #fv .inner .fv_subCopy {
  font-size: min(calc(18/1200*100vw),18px);
  margin-bottom: min(calc(30/1200*100vw),30px);
}
main #fv .inner .fv_itemList {
  display: flex;
  flex-wrap: wrap;
  gap:0.7%;
}
main #fv .inner .fv_itemList li {
  font-size: min(calc(14/1200*100vw),14px);
  line-height: calc(20/14);
}

main #fv .inner .fv_itemList li span.middle {
  font-size: min(calc(20/1200*100vw),20px);
}
main #fv .inner .fv_itemList li span.large {
  font-size: min(calc(30/1200*100vw),30px);
  line-height: 1;
}

/*============================
#message
============================*/

main #message .inner {
  padding: min(calc(35/1200*100vw),35px) 0 min(calc(20/1200*100vw),20px) min(calc(630/1200*100vw),630px);
}
main #message .inner .cont_head {
  bottom: -35%;
}
main #message .inner .message_subHead {
  letter-spacing: min(calc(4/1200*100vw),4px);
}
main #message .inner .message_subHead:after {
  content:"";
  display: block;
  position: absolute;
  width: 2em;
  height: 1px;
  background-color: #87b2e0;
  top: 3.9em;
   left: 16em;
}
main #message .inner .message_text {
  font-size: min(calc(14/1200*100vw),14px);
  letter-spacing:  min(calc(1/1200*100vw),1px);
  line-height: calc(30/14);
  width: calc(500/570*100%);
  margin-bottom: 1em;
}

/*============================
#benefit
============================*/

main #benefit .inner .cont_head {
  text-align: center;
  margin-bottom: 0.2em;
}
main #benefit .inner .benefit_imageBlock.bl01 {
}
main #benefit .inner .benefit_textBlock {
  width: calc(320/1200*100%);
}
main #benefit .inner .benefit_textBlock .benefit_text {
  text-align: left;
  margin-bottom: 1.5em;
}
main #benefit .inner .benefit_textBlock.bl01 {
  margin-right: calc(60/1200*100%);
  margin-left: auto;
  position: relative;
}
main #benefit .inner .benefit_textBlock.bl01:before {
  content:"";
  display: block;
  height: min(calc(360/1200*100vw),360px);
  width: 100vw;
  background-image: url(/assets/img/top/benefit-img01_pc.png);
  background-size: cover;
  background-position: center center;
  border-radius:0 0   min(calc(100/1200*100vw),100px) 0;
  position: absolute;
  right:120%;
  top:0;
}
main #benefit .inner .benefit_textBlock .benefit_subHead {
  letter-spacing: min(calc(5/1200*100vw),5px);
  margin-bottom: 0.3em;
  text-align: left;
}
main #benefit .inner .benefit_textBlock .benefit_subHead.lts {
  letter-spacing: min(calc(0/1200*100vw),1px);
}

main #benefit .inner .benefit_textBlock .benefit_text.lts {
  letter-spacing: 0;
}


/*============================
#voice
============================*/
main #voice .inner .voice_slider .slick-slide .voice_slideText {
  text-align: left;
}
/*============================
#menu
============================*/

#menu .inner .menu_list  .menu_subHead {
  text-align: center;
  font-weight: 400;
  font-size: min(calc(24/1200*100vw),24px);
  line-height: 1;
  margin-bottom: 1em;
}
#menu .inner .menu_list  .menu_subHead.lts {
  letter-spacing: min(calc(6/1200*100vw),6px);
}
#menu .inner .menu_list  .menu_text {
  width: calc(330/590*100%);
  font-size: min(calc(14/1200*100vw),14px);
  letter-spacing:0;
  line-height: calc(34/14);
  font-weight: 200;
  text-align: left;
}
#menu .inner .menu_list  .menu_text.lts {
  letter-spacing: 0;
  line-height: calc(26/14);
}
/*============================
#step
============================*/


main .full-slick  .step_text {
  font-size: min(calc(14/1200*100vw),14px);
  line-height: calc(24/14);
  letter-spacing: min(calc(1/1200*100vw),1px);
  margin-top: 1em;
  text-align: left;
}

/*============================
#doctors
============================*/
#doctors_wrap .inner {
}
#doctors_wrap .inner .doctors_block {
  display: flex;
  align-items: center;
  margin-top: -9%;
}

/*============================
#gallery
============================*/

/*============================
#faq
============================*/

#faq .inner .faq_accordion dd {
  font-weight: 200;
}

/*============================
#access
============================*/

/*============================
#reservation
============================*/

#reservation .inner .reservation_block .reservation_timeBlock  .reservation_tel li:nth-of-type(1) {
  line-height: 1.2;
  text-align: center;
  letter-spacing: min(calc(4/1200*100vw),4px);
}

#reservation .reservation_linkBlock li a{
  letter-spacing: min(calc(3/1200*100vw),3px);
}

/*============================
#news
============================*/

/*============================
Liquid
============================*/


@media (max-width:1220px) {
  /*============================
  #fv
  ============================*/

  /*============================
  #message
  ============================*/

  /*============================
  #benefit
  ============================*/

  /*============================
  #voice
  ============================*/

  /*============================
  #menu
  ============================*/

  /*============================
  #step
  ============================*/

  /*============================
  #gallery
  ============================*/
 
  /*============================
  #reservation
  ============================*/
  #reservation {
    margin-bottom: min(calc(130/1200*100vw),130px);
  }
  #reservation .inner {
    padding-left: 3%;
    padding-right: 3%;
  }
#fixed_area .reservation_linkBlock li p:after {
  right:7%;
}
#fixed_area .reservation_linkBlock li p:hover:after {
  right:5%;
}
  /*============================
  #news
  ============================*/

}
/* Liquid end */


/*============================
SmartPhone
============================*/

@media (max-width:768px) {

  main {
    overflow-x: hidden;
  }
  /*============================
  #fv
  ============================*/

  main #fv .inner .fv_mainCopy {
    letter-spacing: min(calc(3/750*100vw),3px);
    padding-top: min(calc(150/750*100vw),150px);
    margin-bottom: min(calc(40/750*100vw),40px);
  }
  main #fv .inner .fv_subCopy {
    display: inline;
    font-size: min(calc(24/750*100vw),24px);
    font-weight: 400;
    line-height: calc(44/24);
    letter-spacing: min(calc(4/1200*100vw),4px);
    margin-bottom: min(calc(70/1200*100vw),70px);
    padding:0 0.2em;
  }
  main #fv .inner .fv_itemList {
    gap:2%;
    margin-top: 57%;
  }
  main #fv .inner .fv_itemList li {
    font-size: min(calc(18/750*100vw),18px);
  }
  main #fv .inner .fv_itemList li span.middle {
    font-size: min(calc(24/750*100vw),24px);
  }

  main #fv .inner .fv_itemList li span.large {
    font-size: min(calc(38/750*100vw),38px);
  }

  /*============================
  #message
  ============================*/
  main #message {
    background-color: #e7f0f9;
    margin-top: calc(344/750*100%);
    width: calc(710/750*100%);
    margin-left: calc(40/750*100%);
  }
  main #message .inner {
    padding: min(calc(730/750*100vw),730px) 0 min(calc(30/750*100vw),30px) min(calc(40/710*100vw),40px);
  }
  main #message .inner .cont_head {
    position: absolute;
    left:calc(10/750*100%);
    bottom:47%;
    z-index:2;
    letter-spacing: min(calc(25/750*100vw),25px);
  }
  main #message .inner .message_imgBlock {
    position: absolute;
    left:calc(-42/750*100%);
    top:-10%;
    width: calc(710/750*100%);

  }
  main #message .inner .message_subHead {
    line-height: calc(45/30);
  }
  main #message .inner .message_subHead:after {
    width: 2.6em;
    top: 4em;
    left: 13.8em;
  }
  main #message .inner .message_text {
    font-size: min(calc(23/750*100vw),23px);
    letter-spacing: 0;
    line-height: calc(40/24);
    width: 100%;
    padding-right: calc(40/670*100%);
    margin-bottom: 1.5em;
    text-align: left;
  }
  
  /*============================
  #benefit
  ============================*/


  main #benefit .inner .benefit_textBlock {
    width: 100%;
  }
  main #benefit .inner .benefit_textBlock.bl01 {
    margin-right: calc(60/1200*100%);
    margin-left: auto;
    position: relative;
  }
  main #benefit .inner .benefit_textBlock.bl01:before {
    content:"";
    display: block;
    height: min(calc(360/750*100vw),360px);
    width: calc(710/750*100%);
    left:0;
    background-image: url(/assets/img/top/benefit-img01_sp.png);
    background-size: cover;
    background-position: center right;
    border-radius:0 0   min(calc(100/750*100vw),100px) 0;
    position: relative;
    right:auto;
    top:0;
  }
 
  main #benefit .inner .benefit_textBlock .benefit_subHead:nth-of-type(1) {
    margin-top: calc(110/750*100%);
  }
  main #benefit .inner .benefit_textBlock .benefit_text {
    font-size: min(calc(23/750*100vw),23px);
    letter-spacing: 0;
    line-height: calc(40/24);
    margin-bottom: 1.5em;
    padding:0 calc(40/750*100%);
  }

  
  /*============================
  #voice
  ============================*/

  
  /*============================
  #menu
  ============================*/
 
  #menu .inner .menu_list li {
    height: min(calc(740/750*100vw),740px);
  }
  #menu .inner .menu_list li .menu_text {
    font-size: min(calc(24/750*100vw),24px);
  }
  #menu .inner .menu_list li .menu_subHead {
    line-height: calc(40/30);
  }
  #menu .inner .menu_list li:nth-of-type(1) {
    background-image: url(/assets/img/top/menu-bg01_sp.png);
    padding-top: 4%;
  }
 #menu .inner .menu_list li:nth-of-type(1) .menu_text {
    line-height: calc(32/24);
 } 
  #menu .inner .menu_list li:nth-of-type(2) {
    background-image: url(/assets/img/top/menu-bg02_sp.png);
    padding-top: 22%;
  }
  #menu .inner .menu_list li:nth-of-type(3) {
    background-image: url(/assets/img/top/menu-bg03_sp.png);
    padding-top:20%;
  }
  #menu .inner .menu_list li:nth-of-type(4) {
    background-image: url(/assets/img/top/menu-bg04_sp.png);
    padding-top:20%;
  }

  #menu .inner .menu_list  .menu_subHead {
    text-align: center;
    font-weight: 400;
    font-size: min(calc(30/750*100vw),30px);
    line-height: 1;
    margin-bottom: 1em;
  }
  #menu .inner .menu_list  .menu_text {
    width: calc(280/320*100%);
    font-size: min(calc(22.7/750*100vw),22.7px);
    letter-spacing: 0;
    line-height: calc(50/24);
    font-weight: 200;
  }
  
  /*============================
  #step
  ============================*/
main .full-slick .slick_textBox {
  height: min(calc(390/750*100vw),390px);
      padding-left: calc(30/750*100%);
    padding-right: calc(30/750*100%);
}
  main .full-slick  .step_text {
    font-size: min(calc(24/750*100vw),24px);
    line-height: calc(40/24);
    letter-spacing: min(calc(1/1200*100vw),1px);
    margin-top: 1em;
  }

  /*============================
  #doctors
  ============================*/

  /*============================
  #gallery
  ============================*/

  /*============================
  #faq
  ============================*/
  #faq .inner .faq_accordion dt {
    text-align: left;
    padding: min(calc(28/750*100vw),28px) min(calc(60/670*100vw),60px) 0
  }
  #faq .inner .faq_accordion dd {
    padding: 0 min(calc(20/670*100vw),20px) 0 min(calc(64/670*100vw),64px);
    font-size: min(calc(24/750*100vw),24px);
    margin-top: 1em;
    text-align: left;
  }
  
  
  /*============================
  #access
  ============================*/

  /*============================
  #reservation
  ============================*/
  #reservation {
    margin-bottom: min(calc(130/1200*100vw),130px);
  }
  #reservation .inner {
    padding-left: 0;
    padding-right: 0;
  }
  #reservation .inner .cont_head {
    letter-spacing: min(calc(8/750*100vw),8px);
    margin-left: -0.17em;
    margin-bottom: 0.2em;
  }
  #reservation .inner .reservation_text {
    font-size: min(calc(30/750*100vw),30px);
    line-height: calc(34/24);
    letter-spacing: 0;
    text-align: center;
    margin-bottom: 2em;
  }
  #reservation .inner .reservation_block .reservation_timeBlock .reservation_tel li:nth-of-type(1) {
    letter-spacing: 0;
  }
  #reservation .inner .reservation_block .reservation_timeBlock .reservation_tel li:nth-of-type(2) {
    letter-spacing: min(calc(8/750*100vw),8px);
  }
  #reservation .inner .reservation_block .reservation_timeBlock .reservation_tel li:nth-of-type(2) span {
    letter-spacing: min(calc(10/750*100vw),10px);    
  }
  #reservation .reservation_linkBlock li p {
    letter-spacing: 0;
  }
  #reservation .reservation_linkBlock li p:after {
    top:50%;
    right:8%;
  }
  #reservation .reservation_linkBlock li p:hover:after {
    top:50%;
    right:10%;
  }
  #reservation .reservation_linkBlock li p span {
    font-size: min(calc(24/750*100vw),24px);
    font-weight: 200;
    letter-spacing: 0;
  }

  /*============================
  #news
  ============================*/

}