@charset "UTF-8";
/* CSS Document */
@media only screen and (max-width: 1280px) {
  
  @media only screen and (min-width: 961px) and (max-width: 1144px) {
  
  .foot-l,
  .foot-r { width: 48%;}
  
  .foot-l { margin-right: 4.0%;}
    
    .res-l > p:nth-of-type(2) { font-size: 3vw;}
    
    .foot-r .reserved .res-r { width: 48%;}
    
    .res-r img {
      width: 100%;
      height: auto;
    }
    
    .btn-consul a { font-size: 1.95vw;}
    
  }
  
  .bnr-box { height: 24vw;}
    
  
}
  
  
@media only screen and (max-width: 1023px)  {
/* -------------------------------------------------
layout
----------------------------------------------------*/  
  .pc { display: none;}

  .sp { display: block;}
  
  /*メイン画像下ナビ・画面下ナビ*/
  .sp-navbar,
  .sp-botnav { display: none;}

  /* ===== header ===== */  
  .sp-h-conts {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    background-color: #fff;
    width: 100%;
    padding: 5px 0;    
  }

  .sp-h-conts h1 {
    width: 266px;
    margin-left: 3%;
  }

  .sp-h-conts img {
    width: 100%;
    height: auto;
  }


/* ===== main visual ===== */
  .vegas-slide {
    height: 76.5vw !important;
    margin-top: 75px !important;
  }
  
  .mv-area {
    position: relative;
    /*background: url("../images/mv_img@sp.jpg") no-repeat center top;
    background-size: cover;
    width: 100%;*/
    height: 76.5vw;
    margin-top: 100px;
  }

  .mv-area .mv-txt {
    position: absolute;
    bottom: 2% !important;
    bottom: inherit;
    right: 2%;
    /* transform: translate(-50%, -50%); */
    /* width: 100%; */
    font-size: 4.2rem;
    text-align: center;
    line-height: 1.3; 
    text-shadow: 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff;
  }


/* ===== global nav ===== */
  #sp-g-nav { border-top: 3px solid #000;}

  #sp-g-nav li {
    display: block;
    width: 100%;
    border-bottom: 1px solid #222;
  }

  #sp-g-nav li a {
    display: block;
    color: #fff;
    font-size: 1.5rem;
    padding: 20px 3%;
  }


  /*hamburger menu*/
  .menu-trigger,
  .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
  .menu-trigger {
    position: relative;
    width: 34px;
    height: 32px;
  }
  .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #000;
  }

  .menu-trigger span:nth-of-type(1) { top: 0;}
  .menu-trigger span:nth-of-type(2) { top: 15px;}
  .menu-trigger span:nth-of-type(3) { bottom: 0;}

  .drawer-open .menu-trigger span:nth-of-type(1) {
    -webkit-transform: translateY(15px) rotate(-45deg);
    transform: translateY(15px) rotate(-45deg);
  }

  .drawer-open .menu-trigger span:nth-of-type(2) { opacity: 0;}

  .drawer-open .menu-trigger span:nth-of-type(3) {
    -webkit-transform: translateY(-15px) rotate(45deg);
    transform: translateY(-15px) rotate(45deg);
  }
  
  
/* ===== footer ===== */
  footer { padding-top: 30px;}
  
  .foot-l { margin-right: 3.4%;}
  
  .sp-time-tbl img {
    width: 100%;
    height: auto;
  }
  
  .f-logo img {
    width: 124px;
    height: auto;
    margin: auto;
  }
    
  .btn-consul a { font-size: 1.95vw;}
  

/* ===== utility area ===== */
  .sp-utility-area {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 60px;
  }

  .sp-time-tbl { margin-bottom: 10px;}

  .sp-utility-area .u-tel-area,
  .sp-utility-area .other-area { margin: 0 3%;}

  .sp-utility-area .u-tel-area { margin-bottom: 10px;}

  .sp-utility-araa .u-tel-area p:nth-of-type(1) { font-size: 1.2rem;}

  .sp-utility-area .u-tel-area a { font-weight: bold !important;}

  .sp-utility-area .btn-reserve a {
    display: inline-block;
    background-color: #595757;
    border-radius: 10px;
    padding: 10px 5px;
  }

  /* ====================================
  index.html
  ====================================== */
  #top-wrap { padding: 30px 0 0;}

  a.link-bnr { width: 31.3%;}

  .top-concept .main-txt { font-size: 2.4rem;}
  
  .top-dr h3 { font-size: 2.9rem;}
  
  .top-dr-conts {
    background-size: cover;
    width: 100%;
  }
  
  .bnr-box {
    background-size: cover;
    width: 100%;
    height: 32vw;
    margin: 0 0 45px;
  }
  
  
  .sp-career { margin-bottom: 64px;}
  
  .top-dr-conts ul { margin-left: 53vw;}
  
  .sp-career li { font-size: 1.6rem;}
  
  .top-dr-conts p { margin-left: 0;}
  
  .slick-slide {
    transition: .3s ease;
    transform: scale(.75);
    transform-origin: 100% 50%;
  }
  
  .slick-current {
    transform: scale(1);
    transform-origin: 50% 50%;
  }
  
  .slick-current + .slick-slide { transform-origin: 0 50%;}
  
  .slick-slide img {
    width: 100%;
    height: auto;
  }
  
  
/* -------------------------------------------------
sub-layout
----------------------------------------------------*/  
  #wrapper { padding-top: 56px;}
  
  /*ページタイトル*/
  .sp-pagettl {
    position: relative;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    width: 100%;
    height: 574px;
    margin-top: 89px;
  }
  
  .sp-mv-txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 3.2rem;
    text-align: center;
  } 
  
  .sp-mv-txt span.arl {
    display: block;
    font-size: 2.3rem;
    margin-top: 8px;
  }
  
  
/* ====================================
一般歯科
====================================== */
  .sp-general-ttl { background-image: url("../images/general_mv_img@sp.jpg");}
  
  .decay-wrapper .conts-txt { width: 72.3%;}
  .decay-wrapper .conts-img { width: 24.5%;}
  
  
/* ====================================
歯周病
====================================== */
  .sp-disease-ttl { background-image: url("../images/disease_mv_img@sp.jpg");}
  
/* ====================================
インプラント
====================================== */
  .sp-implant-ttl { background-image: url("../images/dr_mv_img@sp.jpg");}
  
/* ====================================
ホワイトニング
====================================== */
  .sp-whitening-ttl { background-image: url("../images/whitening_mv_img@sp.jpg");}
  
/* ====================================
審美歯科
====================================== */
  .sp-esthe-ttl { background-image: url("../images/esthe_mv_img@sp.jpg");}
  
/* ====================================
予防歯科
====================================== */
  .sp-maintenance-ttl { background-image: url("../images/maintenance_mv_img@sp.jpg");}
  
  
/* ====================================
最新のインプラント治療　All-on-4
====================================== */
  .sp-implant_cure-ttl { background-image: url("../images/dr_mv_img@sp.jpg");}
  
  
  
/* ====================================
当院の紹介
====================================== */    
  .sp-about-ttl { background-image: url("../images/about_mv_img@sp.jpg");}
  
  .about-wrapper .conts-txt { width: 57.7%;}
  
  .about-wrapper .conts-img { width: 37.1%;}
  
  
  
/* ====================================
アクセス
====================================== */  
  .sp-access-ttl { background-image: url("../images/about_mv_img@sp.jpg");}
  
  
  
/* ====================================
診療方針
====================================== */
  .sp-concept-ttl,
  .sp-soudan-ttl { background-image: url("../images/concept_mv_img@sp.jpg");}
  
  .concept-wrapper p.main-txt {
    font-size: 2.56rem;
    line-height: 1.5;
    margin-bottom: 68px;
  }
  
  
  
/* ====================================
院長紹介
====================================== */
  .sp-dr-ttl { background-image: url("../images/dr_mv_img@sp.jpg");}
  
  
/* ====================================
先生のメッセージ
====================================== */
  .sp-dr_message-ttl { background-image: url("../images/dr_mv_img@sp.jpg");}
  
  
  
/* ====================================
診療科目一覧
====================================== */
  .sp-medical-ttl { background-image: url("../images/general_mv_img@sp.jpg");}
  
  
  
/* ====================================
院長ブログ
====================================== */  
  .sp-blog-ttl { background-image: url("../images/dr_mv_img@sp.jpg");}
  
  .blog-main { width: 65%;}
  
  .archive-area { margin-bottom: 30px;}
  
  
/* ====================================
料金表
====================================== */  
  .sp-fee-ttl { background-image: url("../images/about_mv_img@sp.jpg");}
  
  
  
/* ====================================
サイトマップ
====================================== */  
  .sp-sitemap-ttl { background-image: url("../images/about_mv_img@sp.jpg");}


/* ====================================
求人情報
====================================== */  
  .sp-recruit-ttl { background-image: url("../images/recruit_mv_img@sp.jpg");}

}



@media only screen and (max-width: 960px) {
	/* -------------------------------------------------
layout
----------------------------------------------------*/  

/* ===== header ===== */


/* ===== main visual ===== */
  .mv-txt p:nth-of-type(1) { font-size: 4.0rem;}
  

/* ===== global nav ===== */  


/* ===== footer ===== */
  footer { padding-top: 30px;}
  
  .foot-l,
  .foot-r {
    display: block;
    width: 96%;
    margin: 0 auto 30px;
  }
  
  .btn-consul a { font-size: 2.4rem;}
  
  /*f-nav-wrap*/
  .f-nav-wrap { display: none;}
  

/*pageTop*/
  .page-top { width: 59px;}
  
  .page-top a img {
    width: 100%;
    height: auto;
  }
  
  
  
/* ===== utility area ===== */
  .sp-utility-area { margin-bottom: 25px;}
  
  

/* ====================================
index.html
====================================== */
  .wrap-inner {
    width: 100%;
    padding: 0 2%;
  }
  
  #top-wrap {
    background: url("../images/top_conts_body_bg@sp.jpg") no-repeat center top;
    background-size: cover;
    padding: 15px 0 0;
  }
  
  .rsn-items .line01 { margin-bottom: 40px;}
  .rsn-items .line03 { margin-bottom: 30px;}
  .rsn-items .line04 { margin-bottom: 32px;}
  .rsn-items .line05 { margin-bottom: 34px;}
  
  .rsn-items .rsn-box { width: 100%;}
  .rsn-items .rb02,
  .rsn-items .rb04,
  .rsn-items .rb05 { width: 48.0%;}
  .rsn-items .rb03,
  .rsn-items .rb05 {
    width: 48.0%;
    margin-top: 23px;
  }
  .line05 .rsn-box { width: 33%;}
  
  .rsn-items .rb05 { margin-left: 0;}
  
  .rsn-items .rb07 { margin-top: 15px;}
  .rsn-items .rb08 { margin-top: 26px;}
  
  .rsn-items img {
    width: 100%;
    height: auto;
  }
  
  .rsn-box .box-txt p:nth-of-type(1) { font-size: 3.4rem;}
  .rb01 .box-txt p:nth-of-type(1) { font-size: 3.8rem;}
  .rb05 .box-txt p:nth-of-type(1) { font-size: 2.7rem;}
  .rb06 .box-txt p:nth-of-type(1) { font-size: 3.7rem;}
  .line05 .rsn-box .box-txt p:nth-of-type(1) { font-size: 2.9rem;}
  .rb10 .box-txt p:nth-of-type(1) { font-size: 3.7rem;}
  
  .rsn-box .box-txt p:nth-of-type(1) span { font-size: 4.9rem;}
  .rb01 .box-txt p:nth-of-type(1) span { font-size: 3.9rem;}
  .rb05 .box-txt p:nth-of-type(1) span { font-size: 4.0rem;}
  .rb06 .box-txt p:nth-of-type(1) span { font-size: 5.4rem;}
  .rb10 .box-txt p:nth-of-type(1) span { font-size: 5.4rem;}
  
  .rsn-box .box-txt p:nth-of-type(2) { font-size: 2.3rem;}
  .rb01 .box-txt p:nth-of-type(2) { font-size: 3.1rem;}
  .rb05 .box-txt p:nth-of-type(2) { font-size: 1.9rem;}
  .rb06 .box-txt p:nth-of-type(2) { font-size: 2.5rem;}
  .line05 .rsn-box .box-txt p:nth-of-type(2) { font-size: 1.9rem;}
  .rb10 .box-txt p:nth-of-type(2) { font-size: 2.5rem;}
  
  .rb01 .box-txt { bottom: 26px;}
  
  .rb02 .box-txt,
  .rb04 .box-txt {
    bottom: 44px;
    left: 10px;
  }
  .rb03 .box-txt,
  .rb04 .box-txt { left: 10px;}
  
  .rb03 .box-txt,
  .rb05 .box-txt { bottom: 10px}
  
  .rb06 .box-txt {
    top: 50%;
    transform: translateY(-50%);
  }
  
  .rb07 .box-txt {
    top: 10px;
    left: 10px;
  }
  
  .rb08 .box-txt {
    bottom: 15px;
    left: 10px;
  }
  
  .rb09 .box-txt {
    bottom: 31px;
    left: 10px;
  }
  
  .rb10 .box-txt { bottom: 28px;}
  
  
  /*歯のお悩み相談*/
  .consul-link { margin-bottom: 50px;}
  
  a.link-bnr {
    width: 42%;
    margin: 0 auto 20px !important;
  }
  
  .bnr-box { height: 41vw;}
  
  .bnr-box .txt-area {
    right: 0;
    padding: 3%;
  }
  
  .bnr-box .txt-area p:nth-of-type(1) { font-size: 2.4rem;}
  
  .bnr-box .txt-area p:nth-of-type(2) { font-size: 2.88rem;}

  
  /*コンセプト*/
  .top-concept {
    background-size: cover;
    padding: 30px 2% 60px;
  }
  
  .top-concept .conts-logo {
    width: 140px;
    margin: 0 auto 25px
  }
  
  .top-concept .conts-logo img {
    width: 100%;
    height: auto;
  }
  
  #top-wrap h2.main-txt {
    font-size: 2.5rem;
    line-height: 1.3;
  }
  
  .top-concept .main-txt br.w600 { display: block;}
  
  .top-concept .txt-area { margin-bottom: 30px;}
  
  .top-concept .txt-area p br.w960 { display: block;}
  
  .con-box-wrap { margin-bottom: 50px;}
  
  .con-box .icon {
    width: 110px;
    height: 110px;
    line-height: 110px;
  }
  
  .con-box-wrap .con-box p:nth-of-type(2) {
    font-size: 1.5rem;
    padding-left: 3%;
  }
  
  .con-box-wrap .con-box:nth-last-of-type(1) p:nth-of-type(2) { letter-spacing: -0.01em;}
  
  
  /*院長紹介*/
  .top-dr h3 { font-size: 2.9rem;}
  
  .top-dr-conts {
    background: url("../images/top_dr_conts_bg@sp.png") no-repeat center top;
    background-size: 100%;
    width: 100%;
    height: auto;
    max-height: none;
    padding: 5%;
  }
  
  .top-dr-conts .txt-area {
    position: unset;
    width: 100%;
    padding-top: 80vw;
  }
  
  .top-dr-conts .txt-area > p:nth-of-type(1) {
    font-size: 1.6rem;
    margin-bottom: 30px;
  }
  
  .top-dr-conts .dr-intro dt { font-size: 2.2rem;}
  
  .top-dr-conts .dr-intro dd { font-size: 3.4rem;}
  
  .top-dr-conts .dr-intro { margin-bottom: 34px;}
  
  .sp-career { margin-bottom: 64px;}
  
  .top-dr-conts ul { margin-left: 53vw;}
  
  .sp-career li { font-size: 1.6rem;}
  
  .top-dr-conts p { margin-left: 0;}
  
  
  /*アクセス*/
  .g-map { margin-bottom: 80px;}
  
  .g-map h3 { font-size: 2.9rem;}
  
  .g-map-area { height: 50vh;}
  
  .g-map .wrap-inner { padding: 0 2%;}
  
  .g-map p { text-align: left;}

  
  /*バナー*/
  .banner-area { margin-bottom: 80px;}
  
/*  #rondellCarousel a {
    top: 50% !important;
    transform: translateY(-50%);
  }*/
  
  
  
/* -------------------------------------------------
sub-layout
----------------------------------------------------*/
  #wrapper { padding-top: 56px;}
  
  /*ページタイトル*/
  .sp-pagettl {
    position: relative;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    width: 100%;
    height: 76.5vw;
    margin-top: 75px;
  }
  
  .sp-mv-txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 3.2rem;
    text-align: center;
  }
  
  
/* ====================================
一般歯科
====================================== */  
  .decay-wrapper .main-txt {
    font-size: 2.56rem;
    line-height: 1.5;
    margin-bottom: 68px;
  }
  
  .decay-wrapper .conts-txt { width: 58%;}
  .decay-wrapper .conts-img { width: 37%;}
  
  .decay-wrapper .conts-txt { margin-bottom: 20px;}
  
  .dise-box { padding: 17px;}
  
  .dise-box ul { padding-left: 1em;}
  
  .dise-treatment .d-t-area { padding-left: 15px;}
  
  @media only screen and (min-width: 600px) and (max-width: 767px){
    .cost-tbl-wrap { padding-left: 0;}
  }
    
  .cost-tbl dd {
    text-align: right;
    padding-left: 0;
    padding-right: 20px;
  }
  
  
/* ====================================
インプラント
====================================== */
  .implant-wrapper .conts-txt-l { width: 74.1%}
  .implant-wrapper .conts-img { width: 18.2%;}  
  
  
/* ====================================
当院の紹介
====================================== */  
  .about-wrapper .conts-txt { width: 58%;}
  
  .about-wrapper .conts-img { width: 40%;}
  
  .ov-conts { margin: 100px auto 0;}
  
  .ov-conts .acc-l {
    margin-right: 0;
    margin-bottom: 20px;
  }
  
  
  
/* ====================================
院長紹介
====================================== */
  @media only screen and (min-width: 601px) and (max-width: 810px) {
    
    .jsol-r figcaption { font-size: 2.5vw;}
    
    .jsol-r figcaption span.assist {
      font-size: 1.8vw;
      margin-left: 0;
    }
    
  }
 
  .dr-mess-conts {
    background: url("../images/dr_conts_bg@tab.jpg") no-repeat center bottom;
    background-size: contain;
    padding: 0 0 40vw;
  }
  
  
  
/* ====================================
診療科目一覧
====================================== */
  @media only screen and (min-width: 601px) and (max-width: 810px) {
    .medical-wrapper .link-box {
      width: 48%;
      margin: 0 auto 30px;
    }
    
  }
  
  .implant-imgbox img {
    width: 100%;
    height: auto;
    margin: 0 auto 20px;
  }
  
  
  
/* ====================================
院長ブログ
====================================== */  
  .blog-main { width: 63%;}
  
  .sidebar { width: 32%;}
 
 
}






@media only screen and (max-width: 600px) {
	/* -------------------------------------------------
layout
----------------------------------------------------*/  

/* ===== header ===== */  


/* ===== main visual ===== */  
  .mv-txt p:nth-of-type(1) {
    font-size: 5.5vw;
    margin-bottom: 30px;
  }
  
  .mv-txt p:nth-of-type(1) span.assist { font-size: 3.0rem;}
  
  .mv-area .mv-txt p:nth-of-type(2) { margin-bottom: 30px;}
  
  .mv-area .mv-txt p:nth-of-type(2) a { font-size: 1.3rem !important;}
  
  .mv-area .mv-txt p:nth-of-type(3) { font-size: 2.0rem !important;}


/* ===== global nav ===== */

  
  /*hamburger menu*/
  


/* ===== footer ===== */
  footer { padding-bottom: 18.4%;}
  
  .foot-l,
  .foot-r {
    display: block;
    width: 96%;
    margin: 0 auto 30px;
  }
  .sp-time-tbl img {
    width: 100%;
    height: auto;
  }
  
  .f-logo img {
    width: 124px;
    height: auto;
    margin: auto;
  }

/*pageTop*/
  .page-top {
    width: 47px;
    bottom: 60px
  }
  
  
  
/* ===== utility area ===== */
  .sp-utility-area {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 25px;
  }
  
  .sp-time-tbl { margin-bottom: 10px;}
  
  .sp-utility-area .u-tel-area,
  .sp-utility-area .other-area { margin: 0 3%;}
  
  .sp-utility-area .u-tel-area { margin-bottom: 10px;}
  
  .sp-utility-araa .u-tel-area p:nth-of-type(1) { font-size: 1.2rem;}
  
  .sp-utility-area .u-tel-area a { font-weight: bold !important;}
  
  .sp-utility-area .btn-reserve a {
    display: inline-block;
    background-color: #595757;
    border-radius: 10px;
    padding: 10px 5px;
  }
  
  /*メイン画像下ナビ*/
  .sp-navbar { display: block;}
  
  .sp-navbar ul {
    display: table;
    table-layout: fixed;
    width: 100%;
  }
  
  .sp-navbar li {
    display: table-cell;
    vertical-align: middle;
    font-size: 3.0vw;
    text-align: center;
    line-height: 160%;
  }
  
  .sp-navbar li * { color: #fff;}
  
  .sp-navbar li:not(:last-child) { border-right: 1px solid #fff;}
  
  .sp-navbar li a {
    display: block;
    background-color: #000;
    width: 100%;
    color: #fff;
    font-weight: bold;
    padding: 15% 3% 14%;
  }
  
  .sp-navbar li a span {
    display: block;
    font-size: .9em;
  }  
  
  
  /*画面下ナビ*/
  .sp-botnav {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 9000;
    display: block;
    background-color: rgba(0, 0, 0, 0.5);
    width: 100%;
    padding: 5px 1%;
  }
  
  .sp-botnav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  
  .sp-botnav li {
    background-color: rgba(0, 0, 0, 0.7);
    border-radius: 4px;
    width: 32.6%;
  }
  
  .sp-botnav li a {
    display: block;
    color: #fff;
    font-size: 3.5vw;
    text-align: center;
    padding: 3vw 0;
  }
  
  .sp-botnav li a:before {
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% 100%;
    width: 6vw;
    height: 6vw;
    margin: 0 auto 7px;
  }
  
  .sp-botnav li:nth-of-type(1) a:before { background-image: url("../images/icon_sp_tel.svg");}  
  .sp-botnav li:nth-of-type(2) a:before { background-image: url("../images/icon_sp_desktop.svg");}
  .sp-botnav li:nth-of-type(3) a:before { background-image: url("../images/icon_sp_mess.svg");}
  


/* ====================================
index.html
====================================== */  
  #top-wrap h2.main-txt {
    font-size: 2.88rem;
    line-height: 1.3;
  }
  
  #top-wrap h2.main-txt br.w600 { display: block;}
  
  .rsn-items .line01 { margin-bottom: 40px;}
  .rsn-items .line03 { margin-bottom: 30px;}
  .rsn-items .line04 { margin-bottom: 32px;}
  .rsn-items .line05 { margin-bottom: 34px;}
  
  .rsn-items .rsn-box { width: 100%;}
  .rsn-items .rb02,
  .rsn-items .rb04,
  .rsn-items .rb05 { width: 48.0%;}
  .rsn-items .rb03,
  .rsn-items .rb05 {
    width: 48.0%;
    margin-top: 23px;
  }
  .line05 .rsn-box { width: 33%;}
  
  .rsn-items .rb05 { margin-left: 0;}
  
  .rsn-items .rb07 { margin-top: 15px;}
  .rsn-items .rb08 { margin-top: 26px;}
  
  .rsn-items img {
    width: 100%;
    height: auto;
  }
  
  .rsn-box .box-txt p:nth-of-type(1) { font-size: 5.63vw;}
  .rb01 .box-txt p:nth-of-type(1) { font-size: 7.75vw;}
  .rb05 .box-txt p:nth-of-type(1) { font-size: 4.5vw;}
  .rb06 .box-txt p:nth-of-type(1) { font-size: 6.0vw;}
  .line05 .rsn-box .box-txt p:nth-of-type(1) { font-size: 4.75vw;}
  .rb10 .box-txt p:nth-of-type(1) { font-size: 6.0vw;}
  
  .rsn-box .box-txt p:nth-of-type(1) span { font-size: 7.11vw;}
  .rb01 .box-txt p:nth-of-type(1) span { font-size: 9.75vw;}
  .rb05 .box-txt p:nth-of-type(1) span { font-size: 6.5vw;}
  .rb06 .box-txt p:nth-of-type(1) span { font-size: 8.88vw;}
  .rb10 .box-txt p:nth-of-type(1) span { font-size: 8.88vw;}
  
  .rsn-box .box-txt p:nth-of-type(2) { font-size: 3.75vw;}
  .rb01 .box-txt p:nth-of-type(2) { font-size: 4.5vw;}
  .line05 .rsn-box .box-txt p:nth-of-type(2) { font-size: 3.38vw;}
  .rb10 .box-txt p:nth-of-type(2) { font-size: 4.13vw;}
  
  .rb01 .box-txt { bottom: 26px;}
  
  .rb02 .box-txt,
  .rb04 .box-txt {
    bottom: 44px;
    left: 10px;
  }
  .rb03 .box-txt,
  .rb04 .box-txt { left: 10px;}
  
  .rb03 .box-txt,
  .rb05 .box-txt { bottom: 10px}
  
  .rb06 .box-txt {
    top: 50%;
    transform: translateY(-50%);
  }
  
  .rb07 .box-txt {
    top: 10px;
    left: 10px;
  }
  
  .rb08 .box-txt {
    bottom: 15px;
    left: 10px;
  }
  
  .rb09 .box-txt {
    bottom: 31px;
    left: 10px;
  }
  
  .rb10 .box-txt { bottom: 28px;}
  
  /*歯のお悩み相談*/  
  .consul-link .link-path {
    background: url("../images/top_conts_body_bg@sp02.jpg") no-repeat center top;
    background-size: cover;
    width: 100%;
  }
  
  a.link-bnr {
    /* width: 84%; */
    /* margin-bottom: 20px !important; */
    /*width: 42%;*/
    width: 48%;
    border-width: 3px;
    margin: 0 auto 20px !important;
  }
  
  a.link-bnr:nth-of-type(3) ~ a.link-bnr { margin-bottom: 20px !important;}
  
  .bnr-box {
    background: url("../images/top_conts_img11@sp.jpg") no-repeat center center;
    background-size: cover;
    height: 77vw;
    max-height: 600px;
  }
  
  a.link-bnr p {
  width: 100%;
  font-size: 1.6rem;
  line-height: 2;
  padding-left: 5px;
}
  
  
  .bnr-box .txt-area {
    top: unset;
    bottom: 0;
    left: 0;
    right: 0;
  }
  
  .bnr-box .txt-area p:nth-of-type(1) { font-size: 2.2rem;}

  
  /*コンセプト*/
  .top-concept {
    background: url("../images/top_odc_conts_bg@sp.jpg") no-repeat center top;
    background-size: cover;
    padding: 30px 2% 60px;
  }
  
  .top-concept .conts-logo {
    width: 140px;
    margin: 0 auto 25px
  }
  
  .top-concept .conts-logo img {
    width: 100%;
    height: auto;
  }
  
  .top-concept .main-txt {
    font-size: 2.16rem;
    line-height: 1.3;
  }
  
  .top-concept .main-txt br.w600 { display: block;}
  
  .top-concept .txt-area { margin-bottom: 30px;}
  
  .top-concept .txt-area p { text-align: left;}
  
  .top-concept .txt-area p br.w960 { display: none;}
  
  .con-box-wrap { margin-bottom: 7px;}
  
  .con-box-wrap .con-box {
    display: table;
    width: 100%;
    margin-bottom: 23px;
  }
  
  .con-box-wrap .con-box p {
    display: table-cell;
    vertical-align: middle;
  }
  
  .con-box .icon {
    width: 110px;
    height: 110px;
    line-height: 110px;
  }
  
  .con-box-wrap .con-box p:nth-of-type(2) {
    font-size: 1.5rem;
    text-align: left;
    padding-left: 3%;
  }
  
  .con-box-wrap .con-box:nth-last-of-type(1) p:nth-of-type(2) { letter-spacing: -0.01em;}
  
  
  
  /*院長紹介*/
  .top-dr h3 { font-size: 2.9rem;}
  
  .top-dr-conts {
    background-size: 100%;
  }
  
  
  /*アクセス*/
  .g-map { margin-bottom: 80px;}
  
  .g-map h3 { font-size: 2.9rem;}
  
  .g-map-area { height: 50vh;}
  
  .g-map .wrap-inner { padding: 0 2%;}
  
  
  /*バナー*/
  /*
  .banner-area {
    position: relative;
    overflow-x: hidden;
    margin-bottom: 80px;
  }
  
  #rondellCarousel a {
    top: 50% !important;
    transform: translateY(-50%);
  }*/




/* -------------------------------------------------
sub-layout
----------------------------------------------------*/
  #wrapper { padding-top: 56px;}
  
  .sub-conts-wrapper { padding-top: 56px;}
  
  /*ページタイトル*/
  .sp-pagettl {
    position: relative;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    width: 100%;
    height: 76.5vw;
    margin-top: 75px;
  }
  
  .sp-mv-txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    font-size: 3.2rem;
    text-align: center;
    text-shadow: 
    #fff 1px 1px 10px, #fff -1px 1px 10px,
    #fff 1px -1px 10px,#fff -1px -1px 10px;
  } 
  
  
/* ====================================
一般歯科
====================================== */  
  .decay-wrapper .main-txt br.w600 { display: block;}
  
  .decay-wrapper .conts-txt,
  .decay-wrapper .conts-img { width: 100%;}
  
  .decay-wrapper .conts-txt { margin-bottom: 20px;}
  
  .cost-tbl-wrap { padding-left: 0;}
  
  .cost-tbl dt,
  .cost-tbl dd {
    display: block;
    width: 100%;
    text-align: center !important;
    padding-left: 0;
  }
  
  .cost-tbl dt { border-bottom: 1px dashed #bebdbd;}
  
  .decay-wrapper h3.sec-ttl { font-size: 2.0rem;}
  
   
/* ====================================
インプラント
====================================== */  
  .implant-wrapper .main-txt br.w600 { display: block;}
  
  .implant-wrapper .main-txt {
    font-size: 2.5rem;
    line-height: 1.3;    
  }
  
  .implant-wrapper h3.sec-ttl { font-size: 1.8rem;}

  .implant-wrapper .conts-area { margin-bottom: 40px;}

  .implant-wrapper p.conts-ttl.assist:before,
  .implant-wrapper p.conts-ttl.assist:after { top: 135%;}

  .implant-wrapper .conts-txt,
  .implant-wrapper .conts-txt-l,
  .implant-wrapper .conts-img {
    width: 100%;
    margin: 0 auto 20px;
  }
  
  .implant-wrapper .conts-txt-l,
  .implant-wrapper .conts-txt { margin-bottom: 20px;}
  
  .implant-cost-tbl-wrap { padding-left: 0;}
  
  .implant-cost-tbl dt,
  .implant-cost-tbl dd {
    display: block;
    width: 100%;
    text-align: center;
    padding-left: 0;
  }
  
  .implant-cost-tbl dt {
    font-size: 1.45rem;
    border-bottom: 1px dashed #bebdbd;
  }
  
  .implant-bnrbox img,
  .implant-imgbox img {
    width: 100%;
    height: auto;
    margin: 0 auto 20px;
}
  .implant-bnrbox .btn-consul {
    width: 96%;
    margin: 0 auto 40px;
  }
  .implant-bnrbox .reserved {
    display: block;
    width: 96%;
    margin: 0 auto 40px;
  }

  #imp01 {
    margin-top: -100px;
    padding-top: 100px;
  }
  
   
/* ====================================
ホワイトニング
====================================== */
  .white-block { padding: 5%;}
  
  .white-block .inner p { width: 100% !important;}
  
  .white-block .inner p:nth-of-type(1) { margin-bottom: 20px;}
  
  .esthe-item dt { padding-left: 15px;}
  
   
/* ====================================
審美歯科
====================================== */
  .esthe-cost .cost-tbl dd { padding-right: 0;}
  
  .esthe-item dd p:nth-of-type(1) { margin-bottom: 20px;}
  
  .esthe-item dd p { width: 100% !important;}
  
   
/* ====================================
予防歯科
====================================== */
  .maint-area > p,
  .maint-area .m-a-r,
  .maint-area dl,
  .maint-area dd p { width: 100% !important;}
  
  .maint-area > p:nth-of-type(1),
  .maint-area dd p:nth-of-type(1) { margin-bottom: 15px;}
  
  .maint-area dt { padding-left: 15px;}
  
  


/* ====================================
当院の紹介
====================================== */  
  .about-wrapper p.main-txt {
    font-size: 2.56rem;
    margin-bottom: 68px;
  }
  
  .about-wrapper .conts-txt { margin-bottom: 20px;}
  
  .ov-conts dt,
  .ov-conts dd {
    display: block;
    padding: 15px;
  }
  
  .ov-conts dt {
    width: 100%;
    border-bottom: 1px dashed #666;
  }
  
  
  
/* ====================================
アクセス
====================================== */
  .access-wrapper .g-map {
    width: 100%;
    height: 50vh;
  }
  .access-wrapper p.conts-ttl {
    font-size: 1.8rem;
}
  .access-conts { margin: 100px auto 0;}
  
  .access-conts .acc-l {
    margin-right: 0;
  }
  .access-conts dt,
  .access-conts dd {
    display: block;
    padding: 15px;
  }
  
  .access-conts dt {
    width: 100%;
    border-bottom: 1px dashed #666;
  }
  .access-conts .acc-in > div ul {
    padding-left: 0;
  }
  .btn-route {
    display: inline-block; 
    color: #ffffff;
    background: #595757;
    padding: 6px;
    text-decoration: none;
    border-radius: 5px;
    transition: .3s;
    margin-bottom: 5px;
    width:100%;
 }
  .btn-route:hover {
    background: #858282;
  }
  .btn-route a {
    font-size: 14px;
    color: #ffffff;
    background: url(../images/f_btn_arrow.png) no-repeat left center;
    padding-left: 25px;
  }
 
/* ====================================
診療方針
====================================== */
  .concept-wrapper p.main-txt br.w600 { display: block;}
  
  .concept-wrapper h3.sec-ttl span.assist {
    display: block;
    margin-top: 0.5em;
  }
  
  .concept-wrapper .conts-des { margin-left: 32px;}
  
  .concept-wrapper .block .conts-txt,
  .concept-wrapper .block .conts-img {
    width: 100%;
    max-width: none;
  }
  
  
  
/* ====================================
院長紹介
====================================== */ 
  .dr-img { margin-bottom: 30px;}
  
  .dr-img .txt-area { padding-left: 2%;}
  
  .dr-img .txt-area p {
    font-size: 5.5vw;
    margin: 0 0 15px;
  }
  
  .dr-img .txt-area dt { font-size: 5vw;}
  
  .dr-img .txt-area dd {
    font-size: 8vw;
    padding-left: 3vw;
  }
  
  .dr-img .txt-area dd span.kana { font-size: 2.7vw;}
  
  .jsol-l,
  .jsol-r { width: 100%;}
  
  .jsol-l { margin-bottom: 10px;}
  
  .dr-mess .conts-ttl {
    font-size: 8vw;
    margin-bottom: 25px;
  }
  
  .dr-mess-conts {
    background: url("../images/dr_conts_bg@sp.jpg") no-repeat center bottom;
    background-size: contain;
    width: 100%;
    padding: 22px 0 104vw;
  }
  
  .dr-mess-conts p { margin-bottom: 15px;}
  
  .ogihara-implant .conts-ttl { font-size: 6vw;}
  
  
  
/* ====================================
診療科目一覧
====================================== */  
  .sp-medical-ttl .sp-mv-txt { width: 100%;}
  
  .medical-wrapper { margin-bottom: 70px;}
  
  .medical-wrapper p.main-txt {
    font-size: 2.56rem;
    line-height: 1.5;
    margin-bottom: 68px;
  }
  
  .medical-wrapper p.main-txt br.w600 { display: block;}
  
  .medical-wrapper .link-box {
    width: 100%;
    margin: 0 auto 30px;
  }
  
  .medical-wrapper a.link-bnr { margin-bottom: 15px !important;}
  
  
  
/* ====================================
院長ブログ
====================================== */  
  .blog-main,
  .sidebar {
    width: 100%;
    max-width: none;
  }
  
  .blog-main { margin-bottom: 60px;}


/* ====================================
料金表
====================================== */  
  
  .fee-wrapper h3.sec-ttl { font-size: 1.8rem;}

  .fee-wrapper .conts-area { margin-bottom: 40px;}

  .fee-cost-tbl-wrap { padding-left: 0;}
  
  .fee-cost-tbl dt,
  .fee-cost-tbl dd,
  .fee-cost-tbl2 dt,
  .fee-cost-tbl2 dd {
    display: block;
    width: 100%;
    text-align: center;
    padding-left: 0;
  }
  
  .fee-cost-tbl dt,
  .fee-cost-tbl2 dt {
    font-size: 1.45rem;
    border-bottom: 1px dashed #bebdbd;
  }
.fee-cost-tbl2 dt.title {
    font-size: 1.45rem;
    border-bottom: 2px solid #bebdbd;
}

}

/* ====================================
求人情報
====================================== */
@media screen and (max-width: 480px){
.btn-rec {
  font-size: 16px;
  line-height: 16px;
  width:90% !important;
  margin:10px auto 20px;
}

}


