@charset "UTF-8";
input, button, textarea, select, p, blockquote, th, td, pre, li, dt, dd { font-size: 140%; }

p, dt, dd, td, th, li { line-height: 26px; }

p { margin-bottom: 15px; }

#wrapper { min-width: 0; }

.sp { display: block; }

.pc { display: none; }

#totop { bottom: 0; right: 0; width: 50px; background: #5d3823; }

.image_l, .image_r { margin: 0 0px 25px 0; text-align: center; }

.topic_path { display: none; }

.table-wrapper { width: 100%; overflow: auto; }

.table-wrapper table { width: 750px; }

.tbl_wrap_text { font-size: 12px; display: block; margin: 0; margin-top: 5px; line-height: 18px; }

table th, table td { padding: 10px 10px 7px; }

.tbl_1col > tbody > tr > th, .tbl_1col > tbody > tr > td { display: block; box-sizing: border-box; width: 100% !important; }

.tbl_1col > tbody > tr > td:not(:first-child) { border-top: none !important; }

.tbl_1col > tbody > tr:not(:first-child) > th, .tbl_1col > tbody > tr:not(:first-child) > td { border-top: none; }

/*==========================================================================*/
/*                               Gnavi                                      */
/*==========================================================================*/
.btn_menu { margin: 0; position: fixed; top: 0; right: 0; z-index: 90; width: 50px; height: 50px; /*background: rgba(0,0,0,0.03);*/ }

.btn_menu a.icon { display: block; width: 26px; height: 30px; position: relative; top: 50%; transform: translateY(-50%); margin: 0 auto; color: transparent; }

.btn_menu a.icon:before, .btn_menu a.icon span:before, .btn_menu a.icon span:after { content: ''; position: absolute; width: 100%; height: 2px; transition: all .15s ease; left: auto; right: 0; background: #7fc31c; }

.btn_menu a.icon:before { top: 50%; transform: translateY(-50%); }

.btn_menu a.icon span:before { top: 5px; }

.btn_menu a.icon span:after { bottom: 5px; }

.btn_menu.active a.icon:before { width: 50%; }

.btn_menu.active a.icon span:after { width: 75%; }

ul.menu { padding-bottom: 80px; }

ul.menu > li { border-bottom: solid 1px rgba(255, 255, 255, 0.1); }

ul.menu > li > a, ul.menu > li > span { display: block; position: relative; padding: 10px 20px; color: #fff; }

ul.menu > li > a br, ul.menu > li > span br { display: none; }

ul.menu > li > span:before, ul.menu > li > span:after { content: ''; position: absolute; background: rgba(255, 255, 255, 0.4); top: 50%; }

ul.menu > li > span:before { width: 11px; height: 1px; margin-top: 0px; right: 20px; }

ul.menu > li > span:after { width: 1px; height: 11px; right: 25px; margin-top: -5px; transition: all .2s; opacity: 1; }

ul.menu > li.active span:after { transform: rotate(90deg); opacity: 0; }

ul.menu > li.active .sub { height: auto; opacity: 1; }

ul.menu > li a:before { content: ''; position: absolute; padding: 3px; border-right: 1px solid #fff; border-bottom: solid 1px #fff; right: 23px; top: 50%; transform: rotate(-45deg) skew(-12deg, -12deg); margin-top: -3px; opacity: 0.7; }

ul.menu .sub { position: relative; width: 100%; overflow: hidden; height: 0; background: rgba(0, 0, 0, 0.1); transition: all .3s; }

ul.menu .sub li { border-top: solid 1px rgba(255, 255, 255, 0.1); }

ul.menu .sub li a { padding: 10px 20px 10px 35px; box-sizing: border-box; color: rgba(255, 255, 255, 0.9); position: relative; }

#gnavi { position: fixed; top: 50px; right: -100%; bottom: 0; width: 100%; z-index: 101; background: rgba(127, 195, 28, 0.98); transition: all .3s; }

#gnavi .scroll { height: 100%; overflow: scroll; }

#gnavi.open { right: 0; }

/*==========================================================================*/
/*                               Header                                     */
/*==========================================================================*/
header { padding-bottom: 10px; }

header h1 { display: none; }

header .h_top { position: fixed; top: 0; left: 0; width: 100%; background: #fff; /*box-shadow: 0 2px 5px rgba(0,0,0,0.05);*/ height: 50px; z-index: 99; }

header #logo { padding-top: 10px; }

header #logo img { height: 36px; }

/*==========================================================================*/
/*                               Footer                                     */
/*==========================================================================*/
footer { padding: 50px 0 50px; }

footer .inner { padding: 0 10px; }

footer .ft_logo img { height: 70px; }

footer .ft_info { max-width: 400px; margin: 0 auto; }

footer .ft_box01 { padding-bottom: 30px; text-align: center; }

footer .ft_box01 .ft_tel .txt_tel { padding-left: 30px; font-size: 30px; letter-spacing: 3px; background-size: auto 24px; background-position: 0 2px; }

footer .ft_box01 .ft_add { font-size: 12px; line-height: 18px; letter-spacing: 0.2px; }

footer .txt_time { margin: -5px 0 20px 0; text-align: center; }

footer iframe { height: 60vw; }

footer address { font-size: 12px; padding: 20px 0 20px; }

/*==========================================================================*/
/*                             Bottom Bar                                 	*/
/*==========================================================================*/
.bottom_bar { position: fixed; left: 0; bottom: 0; width: calc(100% - 50px); display: none; z-index: 89; }

.bottom_bar ul { display: flex; width: 100%; }

.bottom_bar li { height: 50px; width: calc(100%); border-right: solid 1px #a7d861; }

.bottom_bar li a { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; box-sizing: border-box; text-decoration: none; font-size: 20px; line-height: 16px; font-weight: 500; letter-spacing: 0; text-align: center; color: #fff; background: #7fc31c; }

.bottom_bar li a span { display: inline-block; padding: 5px 0 5px 27px; letter-spacing: 2px; }

.bottom_bar li.tel span { background: url(../images/icon_tel_white.png) 0 3px no-repeat; background-size: auto 20px; font-family: 'Oxygen', "游ゴシック体", "Yu Gothic", YuGothic, sans-serif; }

.bottom_bar li.contact span { background: url(../images/icon_mail_white.png) 0 6px no-repeat; background-size: auto 13px; }

/*==========================================================================*/
/*                             Mainvisual                                   */
/*==========================================================================*/
#index .mainvisual { margin-top: 55px; }


#index .mainvisual .slider{
	width: 98vw;
}

#index .mainvisual .slide { height: 57vw; max-height: 350px;  }
/*
#index .mainvisual .slide1 h2 { padding-top: 24vw; padding-left: 5vw; }

#index .mainvisual .slide1 h2 img { width: 80vw; }

#index .mainvisual .slide2 .txt01 { padding-top: 28vw; padding-left: 5vw; }

#index .mainvisual .slide2 .txt01 img { width: 80vw; }

#index .mainvisual .slide3 .txt01 { padding-top: 28vw; padding-left: 4vw; }

#index .mainvisual .slide3 .txt01 img { width: 80vw; }*/

#index .mainvisual h2 { 
	padding-top: 28vw; 
	left: 4vw;
	margin-left: 0;
}

#index .mainvisual h2 img { width: 80vw; }

.under .mainvisual { margin-top: 50px; background-size: auto 150px, auto; background-position: right -100px top, 0 0; }

.under .mainvisual .inner { height: 150px; }

.under .mainvisual h2 { font-size: 24px; line-height: 34px; padding: 0 10px; top: 50%; }

/*==========================================================================*/
/*                             Index                                     */
/*==========================================================================*/
.button01 a { font-size: 14px; padding: 8px 40px 5px; }

#index h3 { font-size: 22px; line-height: 32px; margin-bottom: 30px; letter-spacing: 2px; }

#index h3.style1, #index h3.style2 { padding-top: 80px; background-size: auto 70px; }

.bg_wave::before { top: -20px; height: 25px; background-size: auto 25px; }

#index .index01 { background-size: auto 41px, auto 350px; padding: 35px 0 40px; }

#index .index01 .row .col { width: 100%; }

#index .index01 .row .col1 { margin-bottom: 30px; }

#index .index01 .row .col2 { padding-left: 0; }

#index .index01 h4 { font-size: 20px; margin-bottom: 15px; letter-spacing: 2px; }

#index .index01 .txt_time { margin-bottom: 20px; font-size: 14px; margin-top: 10px; }

#index .index01 iframe { height: 50vw; width: 100%; }

#index .index01 .txt_add { font-size: 12px; line-height: 20px; }

#index .index01 .btn_more { margin-top: -6px; margin-right: 0px; }

#index .index01 .btn_gmap { margin: -41px 3px 10px 0; }

#index .index01 .list_blog { height: auto; max-height: 460px; padding-top: 0; }

#index .index01 .list_blog ul li { padding-bottom: 10px; margin-bottom: 15px; }

#index .index01 .list_blog ul .title { font-size: 14px; line-height: 22px; margin-top: 5px; }

.index_bg01 { height: 120px; }

#index .index02 { background-size: auto 41px, auto 350px; padding: 35px 10px 50px; }

#index .index02 .list_items { margin-bottom: 10px; }

#index .index02 .list_items dl { width: calc(100% /3 - 15px); margin-right: 20px; }

#index .index02 .list_items dl:nth-child(3n+0) { margin-right: 0; }

#index .index02 .list_items dt { font-size: 16px; background-size: auto 32px; padding-top: 35px; margin-bottom: 18px; line-height: 24px; }

#index .index02 .list_items .text { font-size: 12px; line-height: 22px; }

#index .index03 { background-size: auto 41px, auto 350px; padding: 35px 10px 50px; }

#index .index03 h3 { margin-bottom: 29px; }

#index .index03 .list_items { margin-bottom: 10px; }

#index .index03 .list_items .item { width: calc(50% - 10px); margin-right: 20px !important; margin-top: 10px; }

#index .index03 .list_items .item:nth-child(2n+0) { margin-right: 0 !important; }

#index .index03 .list_items .item h4 { font-size: 18px; margin-bottom: 15px; letter-spacing: 0; }

#index .index03 .list_items .item .thumb { border-radius: 20px; margin-bottom: 15px; }

.index04 .box_text { position: relative; left: auto; top: auto; transform: none; margin-left: 0; max-width: 100%; padding: 40px 10px 0px; box-sizing: border-box; }

.index04 .box_text h4 { font-size: 20px; letter-spacing: 5px; margin-bottom: 15px; }

.index04 .box_text .text { font-size: 14px; line-height: 30px; margin-bottom: 20px; }

.index04 .box_img { width: 100%; left: auto; margin-left: 0; }

.index04 .box_img .thumb img { width: 100%; height: auto; }

.index04 .box_img .name { top: 50%; left: 50%; right: auto; bottom: auto; font-size: 22px; line-height: 30px; margin-left: -130px; transform: translateY(-50%); }

.index04 .box_img .name span { font-size: 14px; }

#index .index05 { background-size: auto 250px; padding: 40px 10px 40px; }

#index .index05:after { left: 25%; width: 100%; height: 100%; margin-left: 0; background-size: 100% auto; background-position: right bottom; }

#index .index05 h3 { margin-bottom: 13px; }

#index .index05 .list_items { max-width: 460px; margin: 0 auto; }

#index .index05 .list_items li { width: 138px; height: 138px; margin-top: 20px; margin-right: 20px !important; }

#index .index05 .list_items li:nth-child(3n+0) { margin-right: 0 !important; }

#index .index05 .list_items li a { border-width: 2px; font-size: 15px; padding-top: 85px; background-position: center top 28px, -100px -100px; background-size: auto 50px, auto 50px; line-height: 20px; letter-spacing: 0; }

#index .index05 .list_items li:nth-child(5) a { padding-top: 70px; background-position: center top 20px, -100px -100px; }

#index .index05 .list_items li:nth-child(7) a { padding-top: 70px; background-position: center top 14px, -100px -100px; }

@media screen and (max-width: 480px) { #index .index02 .list_items dl { width: calc(100% / 2 - 10px); margin-right: 20px !important; }
  #index .index02 .list_items dl:nth-child(2n+0) { margin-right: 0 !important; }
  #index .index02 .list_items dl:last-child { width: 100%; }
  #index .index02 .list_items dl:last-child .thumb { width: 50%; margin-left: auto; margin-right: auto; }
  #index .index03 .list_items .item { width: 100%; margin-right: 0 !important; }
  #index .index03 .list_items .item .thumb { border-radius: 20px; margin: 0 auto 15px; max-width: 300px; }
  #index .index05 .list_items { max-width: 300px; margin: 0 auto; }
  #index .index05 .list_items li { width: 93px; height: 93px; margin-top: 10px; margin-right: 10px !important; }
  #index .index05 .list_items li a { font-size: 12px; padding-top: 55px; background-position: center top 18px, -100px -100px; background-size: auto 34px, auto 34px; line-height: 16px; }
  #index .index05 .list_items li:nth-child(5) a { padding-top: 48px; background-position: center top 14px, -100px -100px; }
  #index .index05 .list_items li:nth-child(7) a { padding-top: 46px; background-position: center top 10px, -100px -100px; }
  #index .index05 .list_items li:nth-child(7) a span { letter-spacing: -3px; } }

#index .index06 { padding: 40px 10px 40px; background-attachment: inherit ; }

#index .index06 h3 { margin-bottom: 20px; }

#index .index06 .text p { font-size: 14px; line-height: 30px; margin-bottom: 15px; }

#index .index06 .button01 { margin-top: 30px; }

/*==========================================================================*/
/*                             Contents                                     */
/*==========================================================================*/
.under main > .inner { padding: 0 10px; }

.under section { padding: 30px 0; }

.under section:last-child {
  padding-bottom: 30px;
}

.under .box_h4 { margin-top: 30px; }

.under .box_h5 { margin-top: 25px; }

.under h3 { font-size: 22px; margin-bottom: 15px; line-height: 34px; background-size: auto 80px; padding-top: 100px; }

.under h4 { font-size: 20px; margin-bottom: 15px; line-height: 30px; }

.under h5 { font-size: 18px; line-height: 26px; }

.under h6 { font-size: 16px; line-height: 22px; padding: 10px 10px 8px; }

/*==========================================================================*/
/*                             blog                                     	*/
/*==========================================================================*/
.category_list { margin: 0px auto 0; }

.category_list li { width: 100%; margin-right: 0px; }

.blog_items .item { margin-top: 30px; }

.blog_items .item a { padding: 10px; }

.blog_items .item .thumb { width: 100%; height: 40vw; max-height: 300px; margin-bottom: 10px; }

.blog_items .item .thumb img { height: 40vw; max-height: 300px; }

.blog_items .item .box_text { width: 100%; }

.blog_items .item .title { font-size: 16px; line-height: 24px; margin-bottom: 5px; }

.blog_img img { width: auto; max-width: 100%; max-height: 300px; }

.blog_btn_bot { margin-top: 30px; }

.blog_btn_bot a { width: 160px; height: 40px; font-size: 16px; }

/*==========================================================================*/
/*                             case                                     	*/
/*==========================================================================*/
#property .block_case { padding-top: 40px; }

#property .block_case h4 { margin-bottom: 0; }

#property .category_list li { width: calc(100% / 2 - 10px); margin-right: 20px; }

#property .category_list li:nth-child(2n+0) { margin-right: 0; }

#property .list_items { margin-bottom: 40px; }

#property .list_items .item { width: calc(100% / 2 - 10px); margin-right: 20px; }

#property .list_items .item:before { display: none; }

#property .list_items .item:nth-child(2n+0) { margin-right: 0; }

#property .list_items .item .thumb { max-height: 180px; height: 30vw; }

#property .list_items .item .thumb img { height: auto; max-height: 100%; }

#property #box_thumbs { margin-top: 30px; }

#property #box_thumbs .thumb_show { width: 100%; height: auto; }

#property .thumb_show ul { width: 100%; margin: 0 auto; background: none; height: auto; }

#property .thumb_show .slick-slide { height: 70vw; }

#property .thumb_list ul { padding: 0 25px 0 20px; }

#property .thumb_list .slick-slide { height: 90px; margin: 0 5px; }

#property .case_tbl { margin-top: 20px; }

#property .case_tbl th { width: 120px; padding: 5px 10px 2px; }

#property .case_tbl td { padding: 8px 10px 3px; }

#property .box_map { margin-top: 20px; }

#property .box_map iframe { margin-top: 20px; height: 50vw; }

.btn_case_detail { padding-top: 20px; }

@media screen and (max-width: 480px) { #property .category_list li { width: calc(100% / 2 - 5px); margin-right: 10px; margin-top: 10px; }
  #property .category_list li:nth-child(2n+0) { margin-right: 0; }
  #property .category_list li a { font-size: 14px; letter-spacing: 0px; height: 40px; }
  #property .list_items .item { width: calc(100% / 2 - 5px); margin-right: 10px; }
  #property .list_items .item:nth-child(2n+0) { margin-right: 0; }
  #property .list_items .item dl { border-bottom: none; margin-bottom: 0px; padding-bottom: 0; }
  #property .list_items .item dt, #property .list_items .item dd { width: 100%; text-align: center; }
  #property .list_items .item dt { background: #f3f3f3; padding: 5px; margin: 0 auto 10px; }
  #property .list_items .item dd .first_txt { display: none; } 
	.under .price_txt_sub02{font-size: 14px;}
	.under .frame_title.price_bx{font-size: 16px;}
}

.paging_detail a { padding: 5px 5px; font-size: 12px; width: 70px; }

/*==========================================================================*/
/*                             under page                                  	*/
/*==========================================================================*/
.under .tt_overlay { background: rgba(255, 255, 255, 0.878431); padding: 10px 0;}

.under .tt_overlay p { font-size: 18px; line-height: 40px; font-weight: bold; line-height: 28px;}

.under .box_img .ud_img { font-weight: bold; padding: 5px; background: #fff; }

.under .ud_img_title2, .under .sign_lg { font-size: 150%; }

.under .ud_img_title2 { margin: 0px; }

.under #about_02 iframe { height: 50vw; }

.ud_banner{
  padding: 20px 10px;
}

.under .ud_banner .link { width: 100%; height: 25vw; margin: 5px auto; }

.under .ud_banner .text_link { left: 10px; font-size: 190%;}

.under .list_anchor li { width: 100%; margin: 10px auto; }

.under .box_info .box_title { font-size: 200%; }

.under .box_info .box_des { font-size: 160%; }

.under .list2col .list2col_tt { margin-bottom: 15px; font-size: 22px; }

.under .tb_evolution .tb_title { margin-bottom: 15px; }

.under .step09 { width: 100%; }

.under .step09 .item_01 dt { font-size: 18px; }

.step09 dl dt span:first-child{margin-right: 10px;}

.under .step09 .item_01 dd { padding: 15px 10px; }

.under .frame03 {
  padding: 10px;
}

.under .frame03 .frame_content {
  padding: 15px;
}

.under .about_anchor01 li{width: calc(50% - 5px);}

.under .about_anchor01 li a{ height: 55px; }

.under .about_box01 h5{margin-bottom: 5px;}

.ud_2col .ud_2col_box{margin-bottom: 25px;}

.under .event-caption { position: relative; }

.event-slide button{ top: 33vw; }

.under .img_two img{
  width: calc(50% - 5px);
  margin-right: 10px;
}

.under .img_two img:last-child{margin-right: 0;}

.under .list3col .list3col_col,
.under .list2col .list2col_col{
  margin-top: 20px;
  padding: 15px;
  margin-bottom: 0;
}

.under .list3col .list3col_tt,
.under .list2col .list2col_tt{
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.under .list3col .list3col_tt:before, 
.under .list2col .list2col_tt:before{
  top: 5px;
}

.under .box_qa {
  margin-bottom: 15px;
}

.under .flex_list4 .flex_box {margin-top: 20px;}
.under .frame01{padding: 15px;}

@media screen and (min-width: 321px) { .under .box_img .ud_img { position: absolute; bottom: 5px; left: 5px; }
  .under .under .frame03 .frame_title { font-size: 200%; line-height: unset; } }

  #orthodontic .link_2col .col{margin: 0px 2vw 15px 0; width: calc(50% - 2vw);}
  #orthodontic .link_2col .col a{    padding: 5px 0px;}
  #orthodontic .link_2col .col:nth-child(2n+2){
    margin-right:0px ;
  }
 
.orthodontic_box01 .item{
	padding: 20px;
}

.orthodontic_box01 .item:after{
	top: 5px;
	left: 5px;
	bottom: 5px; 
	right: 5px;
}

.orthodontic_box01 .item:not(:last-child){
	margin-bottom: 35px;
}

.orthodontic_box01 .item:not(:last-child):before{
	margin-left: -20px;
	bottom: -25px;
	border-left: solid 20px transparent;
	border-right: solid 20px transparent;
	border-top: solid 12px #aaa;
}

.denture_box01 .ud_2col_box:last-child{margin-bottom: 0;}

.about_slider{
	padding: 15px 0 0;
}

.under .slider-nav .slick-slide {
  width: 30vw !important;
  margin: .5vw;
}
.under .slider-nav .slick-slide{
  height: 20vw;
}

@media screen and (max-width: 480px) { 
  .sp_480 { display: block; }
  .under .ishow { display: none; }
  .under .tb_hours td { padding: 1vw; }
  .under .ud_img_title2, .under .sign_lg { font-size: 130%; }
}

@media screen and (max-width: 360px) { 
  .under .ud_img_title2, .under .sign_lg { font-size: 120%; }
  .under .ud_banner .text_link { max-width: 200px; font-size: 150%; }
 }

@media screen and (max-width: 320px) { 
  .sp_320 { display: block; }
  .under .ud_img_title2, .under .sign_lg { font-size: 120%; }
  .under .ud_banner .text_link {  max-width: 60vw; font-size: 140%; text-shadow: 0px 0px 1px #00ac50; }
 }
