@charset "UTF-8";
/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////  Copyright (C) 2009 株式会社フリーセル All Rights Reserved.  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/* ======================================================

   common-Setting

========================================================= */
html {}
body {
  color: #333;
  -webkit-text-size-adjust: 100%;
  /*font-family:'Roboto','Noto Sans JP', "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;*/
  font-family: "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  letter-spacing: 0.1em;
  position: relative;
}
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, table, pre, address, ul, ol, dl {
  font-size: 130%;
  font-weight: normal;
  text-align: left;
  line-height: 2;
}
h1, h2, h3, h4, h5, h6 {
  line-height: 1.4;
}
img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
a:link {
  color: #ecad08;
  text-decoration: underline;
}
a:visited {
  color: #ecad08;
  text-decoration: underline;
}
a:hover {
  color: #ecad08;
  text-decoration: underline;
}
a:active {
  outline: none;
}
/* ======================================================

   header

========================================================= */
#outer_header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  /*background: rgba(255,255,255,0.9);*/
  box-sizing: border-box;
  z-index: 999999;
}
#header {
  height: 60px;
}
#header h1 {
  display: none;
}
#header .logo {
  width: 132px;
  height: 40px;
  padding-left: 10px;
  padding-top: 10px;
}
/* navi */
.navToggle {
  display: block;
  position: fixed; /* bodyに対しての絶対位置指定 */
  right: 0;
  top: 0;
  width: 60px;
  height: 60px;
  cursor: pointer;
  z-index: 3;
  text-align: center;
}
.navToggle span {
  display: block;
  position: absolute; /* .navToggleに対して */
  width: 30px;
  border-bottom: solid 2px #333333;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
  left: 15px;
  /*    right: 0;
    margin: auto;*/
}
.navToggle span:nth-child(1) {
  top: 17px;
}
.navToggle span:nth-child(2) {
  top: 29px;
  width: 23px;
}
.navToggle span:nth-child(3) {
  top: 41px;
}
.navToggle.active span:nth-child(1) {
  top: 27px;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border-color: #fff;
}
.navToggle.active span:nth-child(2) {
  border: none;
}
.navToggle.active span:nth-child(3) {
  top: 27px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
  border-color: #fff;
}
/* menu */
nav.globalMenuSp {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  background: #fff;
  border-top: 50px solid #ecad08;
  border-bottom: 20px solid #ecad08;
  border-left: 20px solid #ecad08;
  border-right: 20px solid #ecad08;
  padding: 15px 20px 20px;
  transform: translateY(-100%);
  transition: all 0.6s;
  width: 100%;
  height: 100vh;
  box-sizing: border-box;
  overflow: scroll;
}
#menu_outer {}
#menu_outer .block {
  margin-bottom: 13px;
}
#menu_outer .block:last-child {
  margin-bottom: 0;
}
#menu_outer .block p {
  font-size: 15px;
  font-weight: bold;
  font-family: 'Libre Baskerville', serif;
  color: #ecad08;
  border-bottom: 1px solid #ecad08;
  line-height: 1.2;
  padding: 0 0 5px 0;
  margin-bottom: 5px;
}
#menu_outer .block p span {
  color: #333333;
  font-size: 12px;
  font-weight: normal;
  margin-left: 10px;
}
#menu_outer .block p a {
  color: #ecad08;
  text-decoration: none;
}
#menu_outer .block ul {
  overflow: hidden;
}
#menu_outer .block ul.mb_m {
  margin-bottom: 10px !important;
}
#menu_outer .block ul li {
  width: 49%;
  float: left;
  letter-spacing: 0.05em;
  line-height: 1.4;
  position: relative;
  box-sizing: border-box;
  padding-left: 8px;
}
#menu_outer .block ul li:before {
  content: "";
  display: block;
  width: 3px;
  height: 3px;
  background: #ecad08;
  position: absolute;
  top: 13px;
  left: 0;
}
#menu_outer .block ul li:nth-child(odd) {
  margin-right: 2%;
}
#menu_outer .block ul li a {
  display: block;
  color: #333333;
  text-decoration: none;
  padding: 5px 0;
}
#menu_banner {
  width: 70%;
  margin: 20px auto 0;
  max-width: 200px;
}
#menu_banner li {
  margin-bottom: 5px;
}
nav.globalMenuSp.active {
  transform: translateY(0%);
}
/* ======================================================

   footer

========================================================= */
#outer_footer {}
#footer {
  width: 100%;
  margin: 0 auto;
}
#footer .sitemap {
  display: none;
}
.first_sp_fix_contact {
  width: 100% !important;
  text-align: center;
  padding: 15px 0px;
  background-color: #00b900;
  color: white;
}
.first_sp_fix_contact span {
  font-size: 14px !important;
  font-weight: bold !important;
}
.copy {
  color: #FFF;
  font-size: 11px;
  line-height: 1.2;
  text-align: center;
  background: #ecad08;
  padding: 15px 20px 110px 20px;
  ;
}
#footer .foot_map {
  width: 100%;
  height: auto;
  position: relative;
}
.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}
.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
#footer .foot_map .info_block {
  width: 80%;
  margin: auto;
  background: rgba(255, 255, 255, 0.9);
  position: static;
  z-index: 9999;
  box-sizing: border-box;
  padding: 20px;
}
#footer .foot_map .info_block .foot_logo {
  max-width: 210px;
  margin: 0 auto 10px;
}
#footer .foot_map .info_block p {
  font-size: 12px;
  text-align: center;
  line-height: 1.4;
}
#footer .foot_map .info_block .tel {
  font-weight: bold;
  font-family:
    YuMincho, /* Mac用 */ 'Yu Mincho', /* Windows用 */ serif;
  font-size: 24px;
}
#footer .foot_map .info_block .tel a {
  color: #333333;
  text-decoration: none;
}
#footer .foot_map .info_block .sche {
  width: 100%;
  margin-bottom: 5px;
}
#footer .foot_map .info_block .sche th, #footer .foot_map .info_block .sche td {
  border-bottom: 1px solid #dadada;
  letter-spacing: 0;
}
#footer .foot_map .info_block .sche th {
  font-weight: normal;
}
#footer .foot_map .info_block .sche th.ttl {
  font-weight: bold;
  color: #ecad08;
}
/* #footer ul.banner { display: none;}  */
#footer ul.banner li {
  padding-top: 10px;
}
/* ======================================================

   index

========================================================= */
#outer_topImage {
  width: 100%;
  margin-top: 60px;
}
/* news booking */
#news_block {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;
  padding: 30px 0;
}
#news_block .news {
  width: 100%;
}
#news_block .news ul {
  height: 70px;
  overflow: hidden;
  margin-bottom: 20px;
}
#news_block .news ul li {
  border-bottom: 1px dotted #dadada;
}
#news_block .news ul li span {
  display: block;
  font-weight: bold;
}
#news_block .news ul li a {
  display: block;
  color: #333333;
  text-decoration: none;
  padding: 10px 0;
}
#news_block .news ul li a:hover {
  opacity: 0.8;
}
#news_block .booking {
  display: none;
}
#news_block h3, #news_block h2 {
  font-size: 22px;
  color: #ecad08;
  font-weight: bold;
  font-family:
    YuMincho, /* Mac用 */ 'Yu Mincho', /* Windows用 */ 'Libre Baskerville', serif;
  margin-bottom: 10px;
  text-align: center;
}
#news_block .more_btn {
  width: 100%;
  max-width: 430px;
  margin: 0 auto;
}
#news_block .more_btn a, .section01 .content .text_blc .more_btn, #sec05 ul li a {
  display: block;
  position: relative;
  font-family:
    YuMincho, /* Mac用 */ 'Yu Mincho', /* Windows用 */ 'Libre Baskerville', serif;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #ecad08;
  padding: 0 20px;
  line-height: 40px;
  background: #fff;
  color: #ecad08;
  text-decoration: none;
  transition: background-color 0.5s;
}
#news_block .more_btn a:hover, #sec05 ul li a:hover {
  background: #ecad08;
  color: #fff;
}
#news_block .more_btn a:before, #news_block .more_btn a:after, .section01 .content .text_blc .more_btn:before, .section01 .content .text_blc .more_btn:after, #sec05 ul li a:before, #sec05 ul li a:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  height: 1px;
  background: #ecad08;
}
#news_block .more_btn a:before, .section01 .content .text_blc .more_btn:before, #sec05 ul li a:before {
  width: 20px;
}
#news_block .more_btn a:after, .section01 .content .text_blc .more_btn:after, #sec05 ul li a:after {
  width: 6px;
  margin-top: -2px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#news_block .more_btn a:hover:before, #news_block .more_btn a:hover:after, #sec05 ul li a:hover:before, #sec05 ul li a:hover:after {
  background: #fff;
}
/* section01 */
.section01 {}
.section01 .content {
  width: 100%;
}
.section01 .content a {
  transition: 0.4s;
  color: #333333;
  text-decoration: none;
}
.section01 .content .image_blc {
  width: 100%;
  min-height: 200px;
  background-size: cover;
  background-position: 50%;
}
.sec01_bg1 {
  background: url("../images/sec1_img1.jpg");
}
.sec01_bg2 {
  background: url("../images/sec1_img2.jpg");
}
.sec01_bg3 {
  background: url("../images/sec1_img3.jpg");
}
.section01 .content .text_blc {
  width: 90%;
  padding: 20px 0;
  box-sizing: border-box;
  margin: 0 auto;
}
.sec01_ttl {
  font-size: 18px;
  color: #ecad08;
  font-family:
    YuMincho, /* Mac用 */ 'Yu Mincho', /* Windows用 */ 'Libre Baskerville', serif;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 10px;
}
.sec01_ttl span {
  display: block;
  font-style: italic;
  color: #e0e0e0;
  font-size: 30px;
  font-weight: normal;
  margin-bottom: 10px;
  font-family: 'Libre Baskerville', serif;
}
.section01 .content .text_blc .more_btn {
  width: 80%;
  margin: 20px auto 0;
}
/* section02 */
#sec02 {
  width: 80%;
  position: relative;
  padding: 20px 0;
  margin: 0 auto;
}
.index_bg {
  position: relative;
  overflow: hidden;
}
.index_bg .deco {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -9;
}
.index_bg .deco img {
  width: 100%;
}
.sp_menu_slider .content_blc {
  position: relative;
}
.sp_menu_slider .content_blc .image_blc {
  width: 100%;
  position: relative;
  padding: 0 0 120px;
}
.sp_menu_slider .content_blc .text_blc {
  width: 90%;
  box-sizing: border-box;
  padding: 10px 15px 15px;
  position: absolute;
  bottom: 0px;
  left: 0;
  right: 0;
  margin: auto;
  background: rgba(255, 255, 255, 0.9);
}
.sp_menu_slider .content_blc .text_blc .ttl {
  font-size: 18px;
  font-family:
    YuMincho, /* Mac用 */ 'Yu Mincho', /* Windows用 */ serif;
  line-height: 1.6;
  margin-bottom: 5px;
  color: #ecad08;
  font-weight: bold;
}
.sp_menu_slider .content_blc .text_blc .more_btn a {
  display: inline-block;
  font-weight: bold;
  text-decoration: none;
  color: #333333;
  border-bottom: 3px solid #ecad08;
  padding: 3px 5px;
  margin-top: 10px;
}
/* section03 */
#sec03 {
  width: 90%;
  margin: 0 auto;
  padding: 30px 0;
}
#sec03 .inner, #sec03 .inner2 {
  width: 100%;
  overflow: hidden;
}
#sec03 .block {
  overflow: hidden;
  position: relative;
  margin-bottom: 10px;
}
#sec03 .inner2 .block {
  width: 48%;
  float: left;
}
#sec03 .inner2 .block:first-child {
  margin-right: 4%;
}
#sec03 .block .image {
  width: 46%;
  float: left;
  box-sizing: border-box;
  border: 1px solid #dadada;
  margin: 0 auto;
  transition: all 0.25s ease;
}
#sec03 .block .image p {
  border: 6px solid #fff;
}
#sec03 .block .image:hover {
  border: 3px solid #ecad08;
}
#sec03 .inner2 .block .image, #sec03 .inner2 .block .txt_blc {
  width: 100%;
}
#sec03 .block .txt_blc {
  width: 50%;
  float: right;
  padding-top: 10px;
}
#sec03 .block .txt_blc h3 {
  color: #333333;
  margin-bottom: 5px;
  font-family:
    YuMincho, /* Mac用 */ 'Yu Mincho', /* Windows用 */ serif;
  font-weight: bold;
  font-size: 14px;
  transition: all 0.25s ease;
}
#sec03 .block a {
  text-decoration: none;
  color: #333333;
}
#sec03 .block a h3:hover {
  color: #ecad08;
}
/* section04 */
#sec04 {
  margin-bottom: 50px;
}
.sec04_content {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 5px;
  position: relative;
}
.sec04_content .mb20 {
  margin-bottom: 20px;
}
.sec04_content .text_blc {
  width: 80%;
  margin: 0 auto;
  background: url("../images/sec5_bg.jpg") repeat;
  background-size: 80px 80px;
  padding: 10px;
  box-shadow: 0px 1px 2px 0px #d1d1d1;
}
.sec04_content .text_blc .inner {
  border: 1px solid #828282;
  padding: 10px;
}
.sec04_content .text_blc .inner dl dt {
  display: block;
  width: 15%;
  font-size: 15px;
  font-weight: bold;
  font-family:
    YuMincho, /* Mac用 */ 'Yu Mincho', /* Windows用 */ serif;
  border-right: 1px solid #828282;
  line-height: 1.2;
  padding: 0 8px 0 0;
  box-sizing: border-box;
  float: left;
}
.sec04_content .text_blc .inner dl dt span {
  display: block;
  font-size: 26px;
}
.sec04_content .text_blc .inner dl dd {
  display: block;
  width: 85%;
  font-family:
    YuMincho, /* Mac用 */ 'Yu Mincho', /* Windows用 */ serif;
  font-size: 14px;
  box-sizing: border-box;
  padding-left: 8px;
  float: left;
  line-height: 1.6;
}
/* section05 */
#sec05 {
  width: 90%;
  max-width: 1200px;
  box-sizing: border-box;
  padding: 20px;
  border: 3px solid #ecad08;
  background: url("../images/bg2.jpg") repeat;
  margin: 0 auto 50px;
  position: relative;
}
#sec05 h3, .index_ttl {
  font-size: 20px;
  color: #ecad08;
  font-family: 'Libre Baskerville', serif;
  margin-bottom: 10px;
}
#sec05 h3 span, .index_ttl span {
  font-size: 14px;
  color: #333333;
  font-weight: bold;
  font-family: "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
}
.index_ttl span {
  display: block;
}
#sec05 ul {
  width: 90%;
  margin: 10px auto 0;
}
#sec05 ul li {
  margin-bottom: 5px;
}
#sec05 ul li:last-child {
  margin-bottom: 0;
}
#sec05 ul li a {
  color: #333333;
  border: 2px solid #ecad08;
}
/* blog */
#blog {
  width: 100%;
  max-width: 1280px;
  background: #f7f7f7;
  padding: 30px 0;
  margin: 0 auto;
  overflow: hidden;
}
#blog .blog_content:first-child {
  margin-bottom: 30px;
}
#blog .blog_content .inner {
  overflow: hidden;
  height: 130px;
}
#blog .blog_content h3 {
  font-size: 20px;
  color: #ecad08;
  font-family: 'Libre Baskerville', serif;
  margin-bottom: 10px;
}
#blog .blog_content h3 span {
  font-size: 14px;
  display: block;
  color: #333333;
  font-weight: bold;
  font-family: "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
}
#blog .blog_content h3 a {
  text-decoration: none;
}
#blog .blog_content dl {
  position: relative;
}
#blog .blog_content dl dt {
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 10px;
}
#blog .blog_content dl dt span {
  display: block;
}
#blog .blog_content dl a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
#blog .blog_content dl:hover {
  opacity: 0.6;
}
#blog .blog_content dl .toc-blog{
  display: none;
}
/* ======================================================

   common

========================================================= */
.pc_area {
  display: none;
}
.sp_area {
  display: block;
}
.bold {
  font-weight: bold;
}
.font10 {
  font-size: 10px;
}
.font12 {
  font-size: 12px;
}
.font14 {
  font-size: 14px;
}
.font16 {
  font-size: 16px;
}
.text {
  margin-bottom: 1em;
}
.txt-l {
  text-align: left;
}
.txt-c {
  text-align: center;
}
.txt-r {
  text-align: right;
}
/* fix content */
.sp_fix_contact {
  display: block;
  width: 100%;
  background: #ecad08;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 99;
}
.sp_fix_contact li {
  width: 33.3333%;
  float: left;
  line-height: 1.4;
  font-size: 14px;
  font-weight: bold;
  box-sizing: border-box;
  border-right: 1px solid #FFF;
}
.sp_fix_contact li:last-child {
  border: 0;
}
.sp_fix_contact li span {
  display: block;
  font-size: 12px;
  font-weight: normal;
}
.sp_fix_contact li a {
  display: block;
  width: 100%;
  height: 50px;
  color: #fff;
  text-decoration: none;
  text-align: center;
  background: #ec5c08;
  box-sizing: border-box;
  padding: 7px 0 0 0;
}
.sp_fix_contact li:nth-child(2) a {
  line-height: 50px;
  padding: 0;
  background: #32a3e5;
}
.sp_fix_contact li:nth-child(3) a {
  background: #ecad08;
}
.gotop {
  width: 60px;
  position: fixed;
  z-index: 999;
  right: 20px;
  bottom: 110px;
}
.gotop:hover {
  opacity: 0.8;
}
.fix_tel {
  display: none;
}
/* 下層リンク */
#sub_txt_link {
  width: 90%;
  overflow: hidden;
  margin: 0 auto;
}
#sub_txt_link li {
  width: 100%;
  position: relative;
  box-sizing: border-box;
  padding: 0 0 0 23px;
  line-height: 1.4;
  font-size: 15px;
  margin-bottom: 15px;
  font-weight: bold;
}
#sub_txt_link li span {
  display: block;
  font-size: 9px;
  font-family: 'Libre Baskerville', serif;
  font-weight: normal;
}
#sub_txt_link li::before {
  position: absolute;
  top: 4px;
  left: 0;
  content: "";
}
#sub_txt_link li::after {
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
}
#sub_txt_link li::before {
  box-sizing: border-box;
  width: 15px;
  height: 15px;
  border: 1px solid #ecad08;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}
#sub_txt_link li::after {
  left: 4px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #ecad08;
  border-right: 1px solid #ecad08;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#sub_txt_link li a {
  display: block;
  width: 100%;
  color: #333333;
  text-decoration: none;
  transition-duration: 0.3s;
}
#sub_txt_link li a:hover {
  color: #ecad08;
}
/* ======================================================

   topicpath

========================================================= */
#topicpath {
  margin-bottom: 20px;
}
#topicpath ul {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 15px 0;
}
#topicpath li {
  display: inline;
  line-height: 1.4;
  font-size: 12px;
}
#topicpath li:before {
  content: " > ";
}
#topicpath li:first-child:before {
  content: "";
}
/* ======================================================

   img

========================================================= */
.image_l .img, .image_r .img, .image_c {
  margin: 0 auto 20px;
}
.image_l .txt, .image_r .txt {
  width: 90%;
  padding: 0 5%;
}
.image_r2 {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}
.image_r2 .img {
  width: 100%;
}
.image_r2 .img {
  float: none;
  margin: 0 auto 20px
}
.image_r2 .txt {
  width: 90%;
  padding: 0 5%;
}
.img_b {
  width: auto;
  height: auto;
  vertical-align: bottom;
}
/* ======================================================

   block

========================================================= */
#wrapper {}
#index_main {}
#main {
  width: 100%;
  margin: 0 auto 60px;
}
.main_sec, .main_sec_bg_inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
.main_sec_bg {
  padding: 40px 0 30px;
  background: #f7f7f7;
}
.col-two .block, .col-three .block, .col-four .block {
  margin-bottom: 20px;
}
.col-two .block:last-child, .col-three .block:last-child, .col-four .block:last-child {
  margin-bottom: 0;
}
.anc_blc {
  margin-top: -60px;
  padding-top: 60px;
}
.col-two.border, .col-three.border {}
.col-two.border .block, .col-three.border .block {
  box-sizing: border-box;
  border: 1px solid #dbdbdb;
  padding: 20px;
}
.border_block {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #dbdbdb;
  padding: 20px;
}
.bg_ptn1 {
  background: #f7f7f7;
  padding: 20px;
  box-sizing: border-box;
}
/* ======================================================

   title

========================================================= */
#page_title { /*padding-top:60px;*/ margin-top: 60px;
}
#page_title.concept {
  background: url("../images/concept_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title.painless {
  background: url("../images/painless_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title.menu {
  background: url("../images/menu_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title.disease {
  background: url("../images/disease_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title.oral {
  background: url("../images/oral_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title.pull {
  background: url("../images/pull_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title.kids {
  background: url("../images/kids_img1.jpg") no-repeat center top;
  background-size: cover;
}#page_title.kids-ortho {
  background: url("../images/sec2_img11.jpg") no-repeat center top;
  background-size: cover;
  /* height: 650px; */
}
#page_title.denture {
  background: url("../images/denture_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title.whitening {
  background: url("../images/whitening_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title.serec {
  background: url("../images/serec_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title.teeth {
  background: url("../images/teeth_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title.invisalign {
  background: url("../images/invisalign_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title.preventive {
  background: url("../images/preventive_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title.risk {
  background: url("../images/risk_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title.staff {
  background: url("../images/concept_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title.qa {
  background: url("../images/concept_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title.about {
  background: url("../images/about_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title.price {
  background: url("../images/blog_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title.blog {
  background: url("../images/blog_img1.jpg") no-repeat center top;
  background-size: cover;
}
#page_title h2 {
  width: 90%;
  font-family:
    YuMincho, /* Mac用 */ 'Yu Mincho', /* Windows用 */ serif;
  margin: 0 auto;
  color: #FFF;
  text-align: center;
  font-size: 30px;
  padding: 50px 0;
  text-shadow: 2px 2px 4px #999999;
}
.ttl_ptn1 {
  font-size: 18px;
  font-family:
    YuMincho, /* Mac用 */ 'Yu Mincho', /* Windows用 */ serif;
  margin-bottom: 20px;
  font-weight: bold;
  color: #ecad08;
  text-align: center;
}
.ttl_ptn1 span {
  display: block;
  color: #e0e0e0;
  font-size: 10px;
  font-family: 'Libre Baskerville', serif;
  font-style: italic;
  font-weight: normal;
}
.ttl_ptn2 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 15px;
  font-family:
    YuMincho, /* Mac用 */ 'Yu Mincho', /* Windows用 */ serif;
}
.ttl_ptn3 {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 10px;
  color: #ecad08;
}
.ttl_ptn4 {
  font-size: 13px;
  font-weight: bold;
  margin-bottom: 10px;
}
.ttl_ptn5 {
  font-size: 13px;
  text-align: center;
  border-bottom: 1px dashed #dadada;
  font-weight: bold;
  padding: 0 0 5px 0;
  margin-bottom: 10px;
}
.orange {
  color: #ecad08;
}
/* ======================================================

   margin

========================================================= */
.mt5 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt35 {
  margin-top: 35px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt45 {
  margin-top: 45px !important;
}
.mt50 {
  margin-top: 50px !important;
}
.mb0 {
  margin-bottom: 0px !important;
}
.mb5 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
  width: 70%;
  margin: 0 auto 20px;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb35 {
  margin-bottom: 35px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb45 {
  margin-bottom: 45px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.mb_t {
  margin-bottom: 20px !important;
}
.mb_s {
  margin-bottom: 30px !important;
}
.mb_m {
  margin-bottom: 50px !important;
}
.mb_l {
  margin-bottom: 70px !important;
}
/* ======================================================

   Q&A

========================================================= */
.faq {}
.faq dl {
  margin-bottom: 20px;
  background: #f7f7f7;
  padding: 20px;
}
.faq dt {
  font-weight: bold;
  padding-bottom: 5px;
  padding-bottom: 13px;
  margin-bottom: 13px;
  border-bottom: #dadada 1px solid;
  line-height: 1.4;
}
.faq dt, .faq dd {
  padding-left: 22px;
  position: relative;
}
.faq dt::before, .faq dd::before {
  content: 'Q';
  font-size: 16px;
  line-height: 1.4;
  position: absolute;
  top: 0;
  left: 0;
  color: #ecad08;
}
.faq dd::before {
  content: 'A';
  font-weight: bold;
}
.faq_more_btn {
  text-align: right;
}
.faq_more_btn a {
  display: inline-block;
  font-weight: bold;
  text-decoration: none;
  color: #333333;
  border-bottom: 3px solid #ecad08;
  padding: 3px 5px;
  margin-top: 10px;
  transition-duration: 0.3s;
}
.faq_more_btn a:hover {
  color: #ecad08;
}
/* ======================================================

   list

========================================================= */
.list_pt01 li {
  display: inline;
}
.list_pt01 li:before {
  content: " / ";
}
.list_pt01 li:first-child:before {
  content: "";
}
.list_pt02 {
  overflow: hidden;
}
.list_pt02 li {
  position: relative;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 5px;
  padding: 0 15px 0 20px;
  box-sizing: border-box;
}
.list_pt02 li:after, .list_pt02 li:before {
  display: block;
  content: '';
  position: absolute;
}
.list_pt02 li:after {
  top: 3px;
  left: 0;
  width: 13px;
  height: 13px;
  background-color: #ecad08;
  border-radius: 100%;
}
.list_pt02 li:before {
  z-index: 2;
  top: 7px;
  left: 3px;
  width: 4px;
  height: 4px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.list_pt03 li {
  position: relative;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 5px;
  padding-left: 15px;
}
.list_pt03 li:before {
  display: block;
  content: '';
  position: absolute;
  top: 6px;
  left: 0;
  width: 8px;
  height: 8px;
  background-color: #ecad08;
  border-radius: 100%;
}
.list_pt02 li:last-child, .list_pt03 li:last-child {
  margin-bottom: 0;
}
.list_pt01 li {
  display: inline;
}
.list_pt01 li:before {
  content: " / ";
}
.list_pt01 li:first-child:before {
  content: "";
}
/* ======================================================

   table

========================================================= */
.tbl_pt01, .tbl_pt02, .tbl_pt03, .tbl_pt04 {
  width: 100%;
}
.tbl_pt01 th, .tbl_pt01 td {
  padding: 10px 15px;
}
.tbl_pt01.under th, .tbl_pt01.under td {
  width: 100%;
  display: block;
  box-sizing: border-box;
}
.tbl_pt01 {
  border-right: #dadada solid 1px;
  border-top: #dadada solid 1px;
}
.tbl_pt01 th, .tbl_pt01 td {
  border-left: #dadada solid 1px;
  border-bottom: #dadada solid 1px;
}
.tbl_pt01 th {
  background: #f7f7f7;
}
.tbl_pt01 span {
  padding: 5px 10px;
  background: #ecad08;
  color: #fff;
  border-radius: 5px;
}
.tbl_pt02 {
  border-bottom: #f4f4f4 1px solid;
}
.tbl_pt02 tr:nth-child(odd) {
  background: #f7f7f7;
}
.tbl_pt02 th, .tbl_pt02 td {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 15px 15px 0;
}
.tbl_pt02 td {
  padding: 0 15px 15px;
}
.tbl_pt03 {
  border-top: #dadada solid 1px;
}
.tbl_pt03 tr {
  border-bottom: #dadada solid 1px;
}
.tbl_pt03 th, .tbl_pt03 td {
  display: block;
  box-sizing: border-box;
}
.tbl_pt03 th {
  font-weight: bold;
  padding: 15px 15px 0;
}
.tbl_pt03 td {
  padding: 0 15px 15px;
}
.tbl_pt04 th, .tbl_pt04 td {
  padding: 10px 10px;
  display: block;
}
.tbl_pt04 th {
  color: #ecad08;
  font-weight: bold;
  padding-bottom: 0;
}
.tbl_pt04 td {
  border-bottom: #dbdbdb solid 1px;
  padding-top: 0;
}
.tbl_pt05 th, .tbl_pt05 td {
  padding: 10px 10px;
  display: block;
}
.tbl_pt05 th {
  color: #ecad08;
  font-weight: bold;
  padding-bottom: 0;
}
.tbl_pt05 td {
  border-bottom: #dbdbdb solid 1px;
  padding-top: 0;
}
.scroll {
  overflow: auto;
  white-space: nowrap;
}
.scroll::-webkit-scrollbar {
  height: 5px;
}
.scroll::-webkit-scrollbar-track {
  background: #F1F1F1;
}
.scroll::-webkit-scrollbar-thumb {
  background: #BCBCBC;
}
.list_tb {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.tb01 {
  width: 48%;
}
.tb01 th, .tb01 td {
  padding: 20px;
  box-sizing: border-box;
  border-left: #dadada solid 1px;
  border-bottom: #dadada solid 1px;
}
.tb01 td:nth-child(odd) {
  font-weight: bold;
}
.tb01 {
  border-right: #dadada solid 1px;
  border-top: #dadada solid 1px;
}
.tb01 th {
  background: #ecad08;
  color: #fff;
  text-align: center;
}
.w30 {
  width: 30%;
}
/* ======================================================

   チェックボックス

========================================================= */
.cp_ipcheck {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.cp_ipcheck:before, .cp_ipcheck:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}
.cp_ipcheck .box {}
.cp_ipcheck input[type=checkbox] {
  display: none;
}
.cp_ipcheck label:focus, .cp_ipcheck label:hover, .cp_ipcheck label:active, .cp_ipcheck input:checked + label {
  color: #ecad08;
}
.cp_ipcheck label:focus:before, .cp_ipcheck label:hover:before, .cp_ipcheck label:active:before, .cp_ipcheck input:checked + label:before {
  border-color: #ecad08;
  background: #ffffff;
}
.cp_ipcheck label {
  font-size: 12px;
  line-height: 1;
  position: relative;
  display: block;
  overflow: hidden;
  padding: 1em 1em 1em 3em;
  cursor: pointer;
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
  white-space: nowrap;
  text-overflow: ellipsis;
  background: #ffffff;
}
.cp_ipcheck label:before {
  position: absolute;
  top: 1em;
  left: 1em;
  width: 10px;
  height: 10px;
  content: '';
  border: 0.2em solid #cccccc;
}
.cp_ipcheck input:checked + label:before {
  border-color: #ecad08;
  background: #ecad08;
}
/* ======================================================

   03.painless

========================================================= */
.merit_list li {
  width: 100%;
  margin: 0 auto 10px;
  box-sizing: border-box;
  background: #f7f7f7;
  text-align: center;
  padding: 10px;
  line-height: 1.4;
}
.merit_list li span {
  display: block;
  color: #ecad08;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 5px;
}
.merit_list li:last-child {
  margin-right: 0;
}
/* ======================================================

   05.disease

========================================================= */
.flow, .flow2 {}
.flow .inner, .flow2 .inner {
  width: 100%;
  position: relative;
  box-sizing: border-box;
  margin-bottom: 20px;
}
.flow .inner .block, .flow2 .inner .block {
  border: 1px solid #dadada;
  box-sizing: border-box;
  padding: 20px;
  margin-bottom: 20px;
}
.flow .inner .block:last-child, .flow2 .inner .block:last-child {
  margin-bottom: 0;
}
.flow .inner .block .ttl, .flow2 .inner .block .ttl {
  font-weight: bold;
  text-align: center;
}
.flow .inner .block .ttl span, .flow2 .inner .block .ttl span {
  color: #ecad08;
  margin-right: 10px;
}
/* ======================================================

   16.staff

========================================================= */
.profile {
  font-size: 16px;
  text-align: center;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 20px;
}
.name {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  font-family:
    YuMincho, /* Mac用 */ 'Yu Mincho', /* Windows用 */ serif;
  line-height: 1.4;
  margin-bottom: 20px;
}
.name span {
  display: block;
  font-size: 16px;
  color: #e0e0e0;
  font-style: italic;
}
/*全体*/
.hidden_box {
  margin: 2em 0; /*前後の余白*/ padding: 0;
}
/*ボタン装飾*/
.hidden_box label {
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 15px;
  font-weight: bold;
  cursor: pointer;
  background: #f7f7f7;
}
.hidden_box label h5 {
  position: relative;
  width: 100%;
  font-weight: bold;
}
.hidden_box label h5:before {
  content: "";
  width: 20px;
  height: 20px;
  background: #ecad08;
  border-radius: 50%;
  position: absolute;
  top: 0px;
  right: 0;
}
.hidden_box label h5:after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border: 2px solid;
  border-color: transparent transparent #fff #fff;
  transform: rotate(-45deg);
  position: absolute;
  top: 3px;
  right: 5px;
}
/*ボタンホバー時*/
.hidden_box label:hover {
  opacity: 0.8;
}
/*チェックは見えなくする*/
.hidden_box input {
  display: none;
}
/*中身を非表示にしておく*/
.hidden_box .hidden_show {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  transition: 0.8s;
}
/*クリックで中身表示*/
.hidden_box input:checked ~ .hidden_show {
  padding: 10px 0;
  height: auto;
  opacity: 1;
}
.hidden_box .hidden_show .image_c {
  max-width: 350px;
}
.txt_link1, .txt_link2, .txt_link3, .txt_link4, .txt_link5 {
  overflow: hidden;
}
.txt_link2 li, .txt_link3 li, .txt_link4 li, .txt_link5 li {
  margin-bottom: 5px;
}
.txt_link1 a, .txt_link2 li a, .txt_link3 li a, .txt_link4 li a, .txt_link5 li a {
  display: block;
  width: 100%;
  color: #333333;
  text-decoration: none;
  background: #fff;
  box-sizing: border-box;
  padding: 0 10px;
  line-height: 40px;
  border: 1px solid #ecad08;
  font-family:
    YuMincho, /* Mac用 */ 'Yu Mincho', /* Windows用 */ serif;
  position: relative;
  transition: background-color 0.5s;
}
.txt_link1 a:hover, .txt_link2 li a:hover, .txt_link3 li a:hover, .txt_link4 li a:hover, .txt_link5 li a:hover {
  background: #ecad08;
  color: #fff;
}
.txt_link1 a:before, .txt_link1 a:after, .txt_link2 li a:before, .txt_link2 li a:after, .txt_link3 li a:before, .txt_link3 li a:after, .txt_link4 li a:before, .txt_link4 li a:after, .txt_link5 li a:before, .txt_link5 li a:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  height: 1px;
  background: #ecad08;
}
.txt_link1 a:before, .txt_link2 li a:before, .txt_link3 li a:before, .txt_link4 li a:before, .txt_link5 li a:before {
  width: 20px;
}
.txt_link1 a:after, .txt_link2 li a:after, .txt_link3 li a:after, .txt_link4 li a:after, .txt_link5 li a:after {
  width: 6px;
  margin-top: -2px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.txt_link1 a:hover:before, .txt_link1 a:hover:after, .txt_link2 li a:hover:before, .txt_link2 li a:hover:after, .txt_link3 li a:hover:before, .txt_link3 li a:hover:after, .txt_link4 li a:hover:before, .txt_link4 li a:hover:after, .txt_link5 li a:hover:before, .txt_link4 li a:hover:after {
  background: #fff;
}
/* ======================================================

   about

========================================================= */
.time {
  width: 100%;
  margin-bottom: 5px;
}
.time th, .time td {
  border-bottom: 1px solid #dadada;
  letter-spacing: 0;
}
.time th {
  font-weight: normal;
}
.time.ttl {
  font-weight: bold;
  color: #ecad08;
}
/* ======================================================

   blog

========================================================= */
#news_blog {}
#news_blog ul {
  margin-bottom: 50px;
}
#news_blog ul li a {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 20px;
  text-decoration: none;
  border-bottom: 1px dashed #dadada;
  color: #333333;
}
#news_blog ul li span {
  font-weight: bold;
  margin-right: 30px;
}
#news_blog ul li a:hover {
  opacity: 0.8;
  color: #ecad08;
}
/******************************** タブレット縦/スマートフォン横 ********************************/
@media screen and (min-width: 481px) {}
/******************************** デスクトップ/タブレット横 ********************************/
@media screen and (min-width: 769px) {
  h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, table, pre, address, ul, ol, dl {
    font-size: 160%;
  }
  /*-------------------------------
 
   header
 
-------------------------------*/
  #header {
    height: 100px;
  }
  #header h1 {
    display: block;
    font-size: 10px;
    color: #a1a1a1;
    padding-top: 10px;
    padding-left: 25px;
    box-sizing: border-box;
  }
  #header .logo {
    width: 215px;
    height: 65px;
    padding-left: 15px;
    padding-top: 0;
  }
  #header ul#head_booking {
    overflow: hidden;
    position: absolute;
    top: 34px;
    right: 100px;
  }
  #header ul#head_booking li {
    float: left;
    font-weight: bold;
    font-size: 16px;
    position: relative;
    margin-right: 10px;
  }
  #header ul#head_booking li a {
    display: inline-block;
    color: #FFF;
    text-decoration: none;
  }
  #header ul#head_booking li:before, #header ul#head_booking li:after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    height: 1px;
    background: #ecad08;
  }
  #header ul#head_booking li:before {
    width: 20px;
  }
  #header ul#head_booking li:after {
    width: 6px;
    margin-top: -2px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  #header ul#head_booking li:first-child {
    background: #00B900;
    color: #fff;
    padding: 3px 15px;
    margin-right: 15px;
  }
  #header ul#head_booking li:first-child:before, #header ul#head_booking li:first-child:after {
    content: none;
  }
  #header ul#head_booking li:nth-child(2) {
    background: #ecad08;
    color: #fff;
    padding: 3px 15px;
  }
  #header ul#head_booking li:nth-child(2):before, #header ul#head_booking li:nth-child(2):after {
    content: none;
  }
  #header ul#head_booking li:nth-child(3) {
    background: #ec5c08;
    color: #fff;
    padding: 3px 15px;
  }
  #header ul#head_booking li:nth-child(3):before, #header ul#head_booking li:nth-child(3):after {
    content: none;
  }
  #header ul#head_booking li:hover {
    opacity: 0.5;
  }
  /* navi */
  .navToggle {
    width: 100px;
    height: 100px;
  }
  .navToggle span {
    width: 45px;
    left: 25px;
  }
  .navToggle span:nth-child(1) {
    top: 31px;
  }
  .navToggle span:nth-child(2) {
    top: 49px;
    width: 35px;
  }
  .navToggle span:nth-child(3) {
    top: 67px;
  }
  .navToggle.active span:nth-child(1) {
    top: 40px;
  }
  .navToggle.active span:nth-child(3) {
    top: 40px;
  }
  /* menu */
  nav.globalMenuSp {
    border: 80px solid #ecad08;
    padding: 50px 0 50px;
    overflow: auto;
  }
  #menu_outer {
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden
  }
  #menu_outer .block {
    display: inline-block;
    margin-bottom: 0;
    margin-right: 9.5%;
    float: left;
  }
  #menu_outer .block:last-child {
    margin: 0;
  }
  #menu_outer .block p {
    display: inline-block;
    font-size: 30px;
    padding: 0 0 10px 0;
    margin-bottom: 20px;
  }
  #menu_outer .block p span {
    display: block;
    font-size: 16px;
    margin-left: 0;
  }
  #menu_outer .block ul {
    overflow: hidden;
  }
  #menu_outer .block ul li {
    width: 100%;
    float: none;
    letter-spacing: 0.1em;
    box-sizing: border-box;
    padding-left: 20px;
  }
  #menu_outer .block ul li:before {
    width: 6px;
    height: 6px;
    top: 20px;
    left: 5px;
  }
  #menu_outer .block ul li a {
    padding: 10px 0;
  }
  #menu_outer .block ul.mb_m {
    margin-bottom: 80px !important;
  }
  #menu_banner {
    margin: 0 auto 0;
    position: absolute;
    bottom: 20%;
    left: calc((100% - 1200px) / 2);
  }
  /*-------------------------------
 
   footer
 
-------------------------------*/
  .gmap {
    padding-bottom: 520px;
  }
  .gmap iframe {
    height: 520px;
  }
  #footer .foot_map .info_outer {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }
  #footer .foot_map .info_block {
    width: 370px;
    position: absolute;
    top: 70px;
    padding: 30px;
  }
  #footer .foot_map .info_block .foot_logo {
    margin: 0 auto 15px;
  }
  #footer .foot_map .info_block p {
    font-size: 15px;
  }
  #footer .foot_map .info_block .tel {
    font-size: 30px;
  }
  #footer .foot_map .info_block .sche {
    width: 100%;
    margin-bottom: 5px;
  }
  #footer .foot_map .info_block .sche th, #footer .foot_map .info_block .sche td {
    border-bottom: 1px solid #dadada;
    letter-spacing: 0;
  }
  #footer .foot_map .info_block .sche th {
    font-weight: normal;
  }
  #footer .foot_map .info_block .sche th.ttl {
    font-weight: bold;
    color: #ecad08;
  }
  #footer .sitemap {
    display: block;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
    padding: 40px 0 60px;
  }
  #footer .sitemap .block {
    float: left;
    overflow: hidden;
    margin-right: 50px;
  }
  #footer .sitemap .block:last-child {
    margin-right: 0;
  }
  #footer .sitemap .block p {
    font-weight: bold;
    color: #ecad08;
    margin-bottom: 10px;
    font-size: 14px;
  }
  #footer .sitemap .block a {
    color: #333333;
    text-decoration: none;
  }
  #footer .sitemap .block a:hover {
    color: #ecad08;
  }
  #footer .sitemap .block ul li {
    font-size: 12px;
    margin-bottom: 10px;
  }
  #footer .sitemap .block .inner {
    overflow: hidden;
  }
  #footer .sitemap .block .inner ul {
    margin-right: 40px;
  }
  #footer .sitemap .block .inner ul:last-child {
    margin-right: 0px;
  }
  #footer .sitemap .block ul {
    float: left;
  }
  #footer ul.banner {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
    padding-top: 51px;
  }
  #footer ul.banner li {
    float: left;
    margin-right: 40px;
  }
  #footer ul.banner li:last-child {
    margin-right: 0;
  }
  .copy {
    padding: 40px;
  }
  /*-------------------------------
 
   index
 
-------------------------------*/
  #outer_topImage {
    height: 860px;
    background: linear-gradient(180deg, #fff 0%, #fff 50%, #f7f7f7 50%, #f7f7f7 100%);
    margin-top: 100px;
  }
  /* news booking */
  #news_block {
    padding: 80px 0 40px;
  }
  #news_block .news {
    width: 44%;
    float: left;
  }
  #news_block .news ul {
    height: 220px;
    margin-bottom: 40px;
  }
  #news_block .news ul li span {
    display: inline-block;
    padding: 0 40px 0 10px;
  }
  #news_block .news ul li a {
    padding: 20px 0;
  }
  #news_block .booking {
    display: block;
    width: 44%;
    float: right;
  }
  #news_block h3, #news_block h2 {
    font-size: 40px;
    margin-bottom: 20px;
    text-align: left;
  }
  #news_block .more_btn a {
    padding: 0 30px;
    line-height: 55px;
  }
  #news_block .more_btn a:before {
    width: 30px;
  }
  #news_block .booking ul {
    padding: 25px 0 21px 0;
  }
  #news_block .booking ul li {
    line-height: 2.0;
    margin-bottom: 10px;
  }
  /* section01 */
  .section01 {
    margin-bottom: 80px;
  }
  .section01 .content {
    width: 100%;
  }
  .section01 .content a {
    display: flex;
  }
  .section01 .content .image_blc {
    width: 50%;
    min-height: 450px;
  }
  .section01 .content .text_blc {
    width: 50%;
    padding: 100px 0 0 0;
  }
  .sec01_ttl {
    font-size: 24px;
    margin-bottom: 25px;
  }
  .sec01_ttl span {
    font-size: 50px;
    margin-bottom: 20px;
  }
  .section01 .content .text_blc.pd_l_img {
    padding-left: 5%;
    padding-right: 18%;
  }
  .section01 .content .text_blc.pd_r_img {
    padding-right: 5%;
    padding-left: 18%;
  }
  .section01 .content a:hover {
    text-decoration: none;
    -webkit-transform: scale(0.95);
    -ms-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 10px #ecad08;
    box-shadow: 0 0 0 10px #ecad08;
  }
  /* section02 */
  .index_bg {
    padding-bottom: 180px;
  }
  #sec02 {
    padding: 0 0 100px 0;
  }
  #sec02 .bg_clinicname {
    max-width: 87px;
    position: absolute;
    top: -480px;
    right: -50px;
  }
  .sec02_content {
    display: flex;
    position: relative;
    height: 700px;
    margin-bottom: 40px;
  }
  .menu_slide {
    width: 50%;
    position: absolute;
    top: 50px;
    z-index: 0;
  }
  .menu_slide img {
    width: auto;
    max-height: 700px;
    box-shadow: 0px 1px 12px 3px #d1d1d1;
  }
  .menu_slide.left_img {
    left: 0;
  }
  .menu_slide.right_img {
    right: 0;
  }
  .sec02_content .wrap_l {
    position: relative;
    z-index: 1;
  }
  .menu_slide_item {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
  }
  .menu_slide_item.first {
    display: block;
  }
  .sec02_content .wrap_l {
    position: relative;
  }
  .sec02_content .wrap_m {
    display: flex;
    /*align-items: flex-end;*/
    flex-direction: column;
    max-width: 1200px;
    margin: 0 auto;
  }
  .menu_in {
    position: relative;
    /*  right: -18px;
  padding: 0 18px 0 0;*/
  }
  .menu_box {
    width: 690px;
    padding: 25px 40px;
    box-sizing: border-box;
    background: #fff;
  }
  .menu_box.left {
    position: absolute;
    left: 0;
  }
  .menu_box.right {
    position: absolute;
    right: 0;
  }
  .menu_box_list li {
    position: relative;
    height: 120px;
    line-height: 1.6;
  }
  .menu_box_list li + li {
    border-top: 1px solid #dbdbdb;
  }
  .menu_box_list li a {
    display: block;
    position: relative;
    background: #fff;
    text-decoration: none;
    transition: .2s;
    padding: 15px 0 15px 50px;
  }
  .menu_box_list li a:before {
    content: "";
    width: 30px;
    height: 30px;
    box-sizing: border-box;
    border-radius: 50%;
    border: 1px solid #ecad08;
    background-color: #fff;
    background-image: url("../images/arrow_orange.png");
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
  .menu_box_list_title {
    font-size: 22px;
    font-family:
      YuMincho, /* Mac用 */ 'Yu Mincho', /* Windows用 */ serif;
    color: #ecad08;
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
  }
  .menu_box_list_text {
    color: #333333;
  }
  .menu_box_list li.on a {
    opacity: 1;
    padding: 25px 20px 25px 95px;
    box-shadow: 0px 0px 6px 3px rgb(0, 0, 0, 0.1);
    position: absolute;
    top: -10px;
    left: -58px;
    right: -93px;
    margin: 0 auto;
    z-index: 1;
    transition: .2s;
  }
  .menu_box_list li.on a:before {
    content: "";
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 0;
    background-color: #ecad08;
    background-image: url("../images/arrow_white.png");
    background-repeat: no-repeat;
    background-position: center center;
    left: 50px;
    transition: 0s;
  }
  .menu_box_list li.on a .menu_box_list_text {
    color: #ecad08;
  }
  /* section03 */
  #sec03 {
    padding: 100px 15px;
    max-width: 1200px;
    margin: 0 auto 30px;
  }
  #sec03 .block {
    width: 26%;
    float: left;
    margin-bottom: 10px;
    margin-right: 11%;
  }
  #sec03 .inner {
    margin-bottom: 70px;
  }
  #sec03 .inner2 .block {
    width: 48%;
    float: left;
  }
  #sec03 .inner2 .block:first-child {
    margin-right: 4%;
  }
  #sec03 .block:last-child {
    margin-right: 0;
  }
  #sec03 .block .image, #sec03 .block .txt_blc {
    width: 100%;
    float: none;
  }
  #sec03 .block .image p {
    border: 10px solid #fff;
  }
  #sec03 .block .image:hover {
    border: 5px solid #ecad08;
  }
  #sec03 .inner2 .block .image, #sec03 .inner2 .block .txt_blc {
    width: 100%;
  }
  #sec03 .block .txt_blc h3 {
    margin-bottom: 10px;
    font-size: 22px;
    text-align: center;
  }
  /* section04 */
  #sec04 {
    margin-bottom: 170px;
  }
  .sec04_content .mb20 {
    margin-bottom: 0px;
  }
  .sec04_content {
    display: flex;
    margin: 0 auto 70px;
  }
  .sec04_content.img_r {
    justify-content: flex-end;
  }
  .sec04_content img {
    box-shadow: 0px 1px 8px 3px #d1d1d1;
  }
  .sec04_content .text_blc {
    max-width: 600px;
    position: absolute;
    bottom: 50px;
    background-size: 178px 179px;
    padding: 15px;
    transition: 0.5s;
    box-shadow: 0px 2px 12px 3px #d1d1d1;
  }
  .sec04_content .text_blc.rightblc {
    right: 0;
  }
  .sec04_content .text_blc.leftblc {
    left: 0;
  }
  .sec04_content .text_blc .inner {
    padding: 23px 30px;
  }
  .sec04_content .text_blc .inner dl dt {
    width: 18%;
    font-size: 30px;
    padding: 0 20px 0 0;
  }
  .sec04_content .text_blc .inner dl dt span {
    font-size: 60px;
  }
  .sec04_content .text_blc .inner dl dd {
    width: 82%;
    font-size: 22px;
    padding-left: 20px;
  }
  .sec04_content .text_blc:hover {
    opacity: 0.8;
  }
  /* section05 */
  #sec05 {
    padding: 50px 80px 80px 60px;
    margin: 0 auto;
    box-shadow: 0px 1px 8px 3px #d1d1d1;
  }
  #sec05 h3, .index_ttl {
    font-size: 40px;
    margin-bottom: 25px;
  }
  #sec05 h3 span, .index_ttl span {
    font-size: 18px;
    margin-left: 20px;
  }
  .index_ttl span {
    display: inline-block;
  }
  #sec05 .sec5_img {
    width: 25%;
    max-width: 358px;
    position: absolute;
    bottom: 0;
    right: 0;
  }
  #sec05 p.pd230 {
    padding-right: 220px;
  }
  #sec05 ul {
    max-width: 870px;
    margin: 0 auto 0;
    position: absolute;
    bottom: -40px;
    left: 50px;
  }
  #sec05 ul li {
    width: 32%;
    float: left;
    margin: 0 2% 0 0;
  }
  #sec05 ul li:last-child {
    margin-right: 0;
  }
  #sec05 ul li a {
    line-height: 55px;
  }
  #sec02 .index_ttl span, #sec04 .index_ttl span {
    display: block;
    margin: 0 auto;
  }
  #sec04 .index_ttl {
    margin-bottom: 50px;
  }
  #sec06 .index_ttl span {
    display: block;
    margin: 0 auto;
  }
  /* blog */
  #blog {
    padding: 50px 0; /*margin-top: 100px;*/
  }
  #blog .main_sec {
    width: 100% !important;
  }
  #blog .blog_content {
    width: 50%;
    float: left;
    box-sizing: border-box;
  }
  #blog .blog_content:first-child {
    margin-bottom: 0;
    padding-right: 65px;
    border-right: 1px dashed #dadada;
  }
  #blog .blog_content:last-child {
    margin-bottom: 0;
    padding-left: 65px;
    border-left: 1px dashed #dadada;
  }
  #blog .blog_content .inner {
    overflow: hidden;
    height: 430px;
  }
  #blog .blog_content h3 {
    font-size: 36px;
    margin-bottom: 40px;
  }
  #blog .blog_content h3 span {
    font-size: 18px;
  }
  #blog .blog_content dl {
    margin-bottom: 40px;
  }
  #blog .blog_content dl dt {
    margin-bottom: 10px;
    font-size: 18px;
  }
  #blog .blog_content dl dt span {
    font-size: 16px;
  }
  #blog .blog_content dl dd {
    font-size: 14px;
    letter-spacing: 0.05em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  #blog .blog_content dl dd h1{
    font-size: 14px;
  }
  /*-------------------------------
 
   common
 
-------------------------------*/
  .pc_area {
    display: block;
  }
  .sp_area {
    display: none;
  }
  .alpha a {
    transition: 0.3s;
  }
  .alpha a:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -ms-filter: "alpha(opacity=80)";
  }
  .gotop {
    width: 126px;
    right: 80px;
    bottom: 100px;
  }
  .fix_tel {
    display: block;
    width: 45px;
    position: fixed;
    top: 150px;
    right: 0;
    z-index: 99;
  }
  .sp_fix_contact {
    display: none;
  }
  /* 下層リンク */
  #sub_txt_link {
    width: 100%;
  }
  #sub_txt_link li {
    width: 23%;
    float: left;
    margin: 0 1%;
    padding: 0 0 0 30px;
    font-size: 16px;
    margin-bottom: 40px;
  }
  #sub_txt_link li::before {
    top: 2px;
  }
  #sub_txt_link li::after {
    top: 9px;
  }
  #sub_txt_link li::before {
    width: 18px;
    height: 18px;
  }
  .list_pt02 li, .list_pt03 li {
    font-size: 16px;
  }
  .list_pt03 li {
    margin-bottom: 10px;
  }
  .list_pt03 li:before {
    top: 8px;
  }
  /*-------------------------------
 
   topicpath
 
-------------------------------*/
  #topicpath {
    margin-bottom: 50px;
  }
  #topicpath ul {
    max-width: 1200px;
  }
  /*-------------------------------
 
   img
 
-------------------------------*/
  .image_l, .image_r {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
  }
  .image_r {
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .image_l .img, .image_r .img {
    width: 35%;
  }
  .image_l .txt, .image_r .txt {
    width: 60%;
    padding-top: 20px;
  }
  .image_l .txt {
    padding: 0 0 0 5%;
  }
  .image_r .txt {
    padding: 0 5% 0 0;
  }
  .image_c {
    width: 70%;
    margin: 0 auto 20px;
  }
  .image_r2 {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
  }
  .image_r2 .img {
    width: 50%;
  }
  .image_r2 .img {
    float: right;
    margin-left: 3%;
  }
  .image_l .img {
    float: left;
    margin-right: 3%;
    width: 30%;
  }
  .image_r2 .txt {
    width: 100%;
    max-width: 1200px;
    padding-top: 20px;
    margin: 0 auto;
  }
  .oral_page .image_r .img, .oral_page .image_l .img {
    width: 35%;
  }
  .oral_page .image_r .txt, .oral_page .image_l .txt {
    width: 60%;
  }
  .staff_page .image_r .img {
    width: 30%;
  }
  .staff_page .image_r .txt {
    width: 55%;
  }
  /*-------------------------------
 
   block
 
-------------------------------*/
  #main {
    margin: 0 auto 120px;
  }
  .main_sec_bg {
    padding: 70px 0 60px;
  }
  .col-two, .col-three, .col-four {
    overflow: hidden;
    margin-bottom: 5%;
  }
  .col-two .block, .col-three .block, .col-four .block {
    box-sizing: border-box;
    margin-bottom: 0;
    float: left;
    margin-right: 4%;
  }
  .col-two .block:last-child, .col-three .block:last-child, .col-four .block:last-child {
    margin-right: 0;
  }
  .col-two .block {
    width: 45%;
  }
  .col-three .block {
    width: 30.666%;
  }
  .col-four .block {
    width: 22%;
  }
  .anc_blc {
    margin-top: -100px;
    padding-top: 100px;
  }
  .border_block {
    padding: 30px;
  }
  .col-two.border, .col-three.border {
    display: flex;
  }
  .col-two.border .block {
    padding: 30px;
  }
  /*-------------------------------
 
   title
 
-------------------------------*/
  #page_title {
    margin-top: 100px;
    padding: 0;
  }
  #page_title h2 {
    max-width: 1200px;
    font-size: 45px;
    padding: 240px 0;
  }
  .ttl_ptn1 {
    font-size: 36px;
    margin-bottom: 40px;
  }
  .ttl_ptn1 span {
    font-size: 20px;
  }
  .ttl_ptn2 {
    font-size: 28px;
    margin-bottom: 20px;
  }
  .ttl_ptn3 {
    font-size: 22px;
    margin-bottom: 15px;
  }
  .ttl_ptn4 {
    font-size: 18px;
    margin-bottom: 15px;
  }
  .ttl_ptn5 {
    font-size: 18px;
    margin-bottom: 20px;
  }
  /*-------------------------------
 
   margin
 
-------------------------------*/
  .mb_t {
    margin-bottom: 50px !important;
    width: 70%;
    margin: 0 auto 20px;
  }
  .mb_s {
    margin-bottom: 80px !important;
  }
  .mb_m {
    margin-bottom: 100px !important;
  }
  .mb_l {
    margin-bottom: 130px !important;
  }
  /*-------------------------------
 
   Q&A
 
-------------------------------*/
  .faq dl {
    padding: 30px 40px;
  }
  .faq dt {
    padding-bottom: 13px;
    margin-bottom: 18px;
  }
  .faq dt, .faq dd {
    padding-left: 30px;
  }
  /*-------------------------------
 
   table
 
-------------------------------*/
  .tbl_pt01.under {
    table-layout: fixed;
  }
  .tbl_pt01.under th, .tbl_pt01.under td {
    display: table-cell;
  }
  .tbl_pt01 th, .tbl_pt01 td {
    padding: 20px 20px;
  }
  .tbl_pt01 th, .tbl_pt01.under th, .tbl_pt02 th {
    font-weight: bold;
  }
  .tbl_pt02 th, .tbl_pt02 td {
    display: table-cell;
  }
  .tbl_pt02 th {
    padding: 20px 15px;
  }
  .tbl_pt02 td {
    padding: 20px 15px 20px 0;
  }
  .tbl_pt04 th, .tbl_pt04 td {
    padding: 20px 10px;
    display: table-cell;
  }
  .tbl_pt04 th {
    color: #333333;
    border-bottom: #ecad08 solid 1px;
  }
  .tbl_pt05 th, .tbl_pt05 td {
    display: table-cell;
  }
  .tbl_pt05 th {
    color: #333333;
    border-bottom: #ecad08 solid 1px;
    width: 40%;
  }
  .scroll {
    overflow: visible;
    white-space: normal;
  }
  .wp10 {
    width: 10% !important;
  }
  .wp20 {
    width: 20% !important;
  }
  .wp25 {
    width: 25% !important;
  }
  .wp30 {
    width: 30% !important;
  }
  .wp35 {
    width: 35% !important;
  }
  /* ======================================================

   チェックボックス

========================================================= */
  .cp_ipcheck label {
    font-size: 16px;
  }
  /* ======================================================

   03.painless

========================================================= */
  .merit_list, .merit_list2 {
    display: flex;
  }
  .merit_list li, .merit_list2 li {
    width: 18.4%;
    margin: 0 2% 0 0;
    box-sizing: border-box;
    background: #f7f7f7;
    text-align: center;
    padding: 20px;
    line-height: 1.4;
  }
  .merit_list2 li {
    width: 23.5%;
  }
  .merit_list li span, .merit_list2 li span {
    display: block;
    color: #ecad08;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .merit_list li:last-child, .merit_list2 li:last-child {
    margin-right: 0;
  }
  .flow, .flow2 {}
  .flow .inner, .flow2 .inner {
    display: flex;
    margin-bottom: 30px;
  }
  .flow .inner .block, .flow2 .inner .block {
    width: 31.3333%;
    margin-right: 3%;
    float: left;
    padding: 30px;
    margin-bottom: 0;
  }
  .flow2 .inner .block {
    width: 47%;
  }
  .flow .inner .block:last-child, .flow2 .inner .block:last-child {
    margin-right: 0;
  }
  .flow .inner:before, .flow2 .inner:before {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border: solid 10px transparent;
    border-top: solid 10px #ecad08;
    bottom: -30px;
    left: 50%;
  }
  .flow .inner:last-child, .flow2 .inner:last-child {
    margin-bottom: 0;
  }
  .flow .inner:last-child:before, .flow2 .inner:last-child:before {
    content: none;
  }
  .flow .inner .block.last, .flow2 .inner .block.last {
    width: 100%;
    margin-right: 0;
    float: left;
  }
  .txt_link1 {
    width: 50%;
    margin: 0 auto;
  }
  .txt_link1 a {
    line-height: 55px;
  }
  .txt_link2 li {
    width: 48%;
  }
  .txt_link3 li {
    width: 31.333%;
  }
  .txt_link5 li {
    width: 18%;
  }
  .txt_link2 li, .txt_link3 li, .txt_link4 li, .txt_link5 li {
    float: left;
    margin: 0 1% 20px;
  }
  .txt_link1 a, .txt_link2 li a, .txt_link3 li a, .txt_link4 li a, .txt_link5 li a {
    line-height: 55px;
  }
  .txt_link5 li a {
    font-size: 15px;
    text-align: center;
  }
  .txt_link5 li a:before, .txt_link5 li a:after {
    content: none;
  }
}
.main_sec_style01 .photo {
  max-width: 700px;
  width: 100%;
}
.main_sec_style01 img {
  width: auto;
  max-height: 460px;
  max-width: 100%;
}
.list_page {
  display: flex;
  justify-content: space-between;
}
.list_page a {
  text-decoration: none;
  background: #ecad08;
  color: #fff;
  transition: all 0.5s ease;
  padding: 12px 25px;
}
.list_page a:hover {
  opacity: 0.7;
  transition: all 0.5s ease;
}
.box_social {
  padding: 20px 0 80px 0;
}
.box_social .container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.box_bnr .box-pc img {
  max-width: 80%;
  margin: 0 auto;
  display: block;
  align-items: center;
}
.box_bnr .box-sp img {
  display: none;
}
.box_social .box_facebook {
  padding: 10px;
  width: 340px;
  border: solid 1px #dadada;
}
.box_social .box_youtube {
  width: calc(100% - 355px);
  border: solid 1px #dadada;
  padding: 10px;
  margin: 0 auto;
}
.box_social .box_facebook iframe {
  width: 100%;
  height: 372px;
  border: 0;
}
.box_social .box_youtube iframe {
  width: 100%;
  height: 330px;
  border: 0;
  overflow: hidden;
}
.box_social .box_youtube .tit_youtube {
  color: #ecad08;
  border-bottom: 1px solid #ecad08;
  font-size: 18px;
  font-weight: bold;
  padding-bottom: 5px;
}
.idx_banners.no-bg {
  background: none;
  padding: 80px 0 40px;
}
.idx_banners {
  padding: 80px 0;
  background: url('../images/home-banner-bg.jpg') center top / cover;
}
.idx_banners ul {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.idx_banners ul li {
  width: 49%;
}
.idx_banners ul li a img {
  max-width: 100%;
}
.idx_banners ul li a:hover {
  opacity: .8;
}
.banner_dh .center {
  text-align: center;
  margin: 50px 0 0 0;
}
.banner_dh img {
  max-width: 100%;
  height: auto;
  width: auto;
}
.banner_dh a:hover {
  opacity: .8;
}
.sp {
  display: none;
}
.pc {
  display: block;
}
.line_reservation_modal_inner {
  text-align: center;
}
.line_reservation_modal_inner p {
  text-align: center;
}
.line_reservation_modal_inner .close_btn_block {
  height: 38px;
  background-color: #23ABF9;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.line_reservation_modal_block {
  padding: 50px;
}
.line_reservation_modal_inner .text {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 auto;
}
.line_reservation_modal_inner .color_red {
  color: #f00;
}
.line_reservation_modal_inner .step img {
  width: 100px;
}
.line_reservation_modal_inner .clinic_id_copy {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: 15px 0 15px 0;
}
.line_reservation_modal_inner .clinic_id {
  font-size: 24px;
  text-align: center;
  margin: 0 20px 0 0;
}
.line_reservation_modal_inner .clip_board {
  width: 85px;
  margin-left: 15px;
}
.line_reservation_modal_inner .line_qr .qr_cd {
  width: 150px;
}
.line_reservation_modal_inner .text {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 10px;
}
.line_qr_wrap .line_qr_note {
  font-size: 12px;
  line-height: 1.5;
  color: #707070;
}
.line_reservation_modal_inner .line_btn_pc {
  margin: 10px 0;
}
.line_reservation_modal_inner .copy_btn {
  position: absolute;
  right: 0;
}
button {
  background: rgba(255, 255, 255, 0);
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
  border: none;
  padding: 0;
  outline: none;
}
.line_reservation_modal_inner .line_btn_pc img {
  width: 150px;
}
button:hover {
  opacity: 0.8;
  cursor: pointer;
}
.close_btn {
  display: block;
  width: 45px;
  height: 40px;
  position: relative;
  top: 10px;
  right: 0;
  z-index: 999;
  cursor: pointer;
}
.btn_modal {
  cursor: pointer;
  display: block;
}
.btn_modal:hover {
  opacity: .8
}
#footer a {
  color: #1d1d1d;
  text-decoration: none;
}
#footer a:hover {
  text-decoration: underline;
}
.modal {
  position: fixed;
  z-index: 9999999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  display: none;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 20px;
}
.modal.active {
  display: block;
}
.modal_inner {
  position: absolute;
  top: 20px;
  left: 20px;
  right: 20px;
  bottom: 20px;
  margin: auto;
  overflow: auto;
}
.modal_box {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 480px;
  padding: 0;
  background-color: #ffffff;
  margin: auto;
  text-align: left;
}
.modal_box::before, .modal_box::after {
  position: absolute;
  top: 1%;
  right: 20px;
  display: block;
  width: 2px;
  height: 24px;
  content: '';
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  background-color: #fff;
}
.modal_box::after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  #sec05 {
    margin: 0 auto 35px;
  }
  .list_page a {
    padding: 12px 8px;
  }
  .box_social {
    padding: 35px 0;
  }
  .box_social .container {
    flex-wrap: wrap;
    padding: 0 3%;
  }
  .box_social .box_youtube {
    width: 100%;
    margin: 0 0 30px 0;
  }
  .box_social .box_facebook {
    margin: 0 auto;
  }
  .box_social .box_youtube iframe {
    height: 300px;
  }
  .box_social .box_facebook iframe {
    height: 300px;
  }
  .box_social .box_youtube .tit_youtube {
    margin-bottom: 10px;
  }
  .box_bnr {
    padding: 35px 0;
  }
  .fb-page, .fb-page span, .fb-page span iframe[style] {
    max-width: 100% !important;
  }
  ._2p3a {
    width: 100% !important;
  }
  .idx_banners.no-bg {
    padding: 50px 0 50px;
  }
  .idx_banners {
    margin: 0 auto;
    padding: 50px 0;
  }
  .idx_banners ul {
    padding: 0 3%;
    box-sizing: border-box;
  }
  .idx_banners ul li {
    width: 100%;
    margin: 0 0 5% 0;
  }
  .idx_banners ul li:last-child {
    margin: 0 0 0 0;
  }
  .banner_dh .center {
    margin: 35px 0 0 0;
    padding: 0 15px;
  }
  #blog .blog_content dl dd h1{
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  #wrapper {
    width: 100%;
    overflow: hidden;
  }
  .invisalign_pg .tbl_pt01.under {
    table-layout: fixed;
  }
  .invisalign_pg .tbl_pt01.under th, .invisalign_pg .tbl_pt01.under td {
    display: table-cell;
  }
  .invisalign_pg .tbl_pt01 th, .invisalign_pg .tbl_pt01 td {
    padding: 20px 20px;
  }
  .invisalign_pg .tbl_pt01 th, .invisalign_pg .tbl_pt01.under th, .invisalign_pg .tbl_pt02 th {
    font-weight: bold;
  }
  .invisalign_pg .tbl_pt02 th, .invisalign_pg .tbl_pt02 td {
    display: table-cell;
  }
  .invisalign_pg .tbl_pt02 th {
    padding: 20px 15px;
  }
  .invisalign_pg .tbl_pt02 td {
    padding: 20px 15px 20px 0;
  }
  .invisalign_pg .tbl_pt04 th, .invisalign_pg .tbl_pt04 td {
    padding: 20px 10px;
    display: table-cell;
  }
  .invisalign_pg .tbl_pt04 th {
    color: #333333;
    border-bottom: #ecad08 solid 1px;
  }
  .invisalign_pg .tbl_pt05 th, .invisalign_pg .tbl_pt05 td {
    display: table-cell;
  }
  .invisalign_pg .tbl_pt05 th {
    color: #333333;
    border-bottom: #ecad08 solid 1px;
    width: 40%;
  }
  .invisalign_pg .wp10 {
    width: 10% !important;
  }
  .invisalign_pg .wp20 {
    width: 20% !important;
  }
  .invisalign_pg .wp25 {
    width: 25% !important;
  }
  .invisalign_pg .wp30 {
    width: 30% !important;
  }
  .invisalign_pg .wp35 {
    width: 35% !important;
  }
  .invisalign_pg .scrollbox {
    overflow-x: auto;
    display: block;
  }
  .invisalign_pg .scrollbox table {
    width: 600px;
    margin: 0 auto;
  }
  .invisalign_pg .scrollbox table th {
    width: 35%;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .line_reservation_modal_inner .clinic_id {
    font-size: 5vw;
    text-align: center;
  }
  .line_reservation_modal_block {
    padding: 9vw 5vw;
  }
  .line_reservation_modal_inner .line_qr {
    margin: 5vw auto 2vw;
    width: 60%;
  }
  .line_reservation_modal_inner .step img {
    width: 20vw;
  }
  .tb01 {
    width: 100%;
  }
  .tb01:first-child {
    margin-bottom: 20px;
  }
}
@media screen and (max-width:480px) {
  /*　画面サイズが480pxまではここを読み込む　*/
  .idx_banners.no-bg {
    padding: 40px 0 40px;
  }
  .idx_banners {
    padding: 40px 0;
    background: url('../images/home-banner-bg.jpg') center top / cover;
  }
  .idx_banners ul {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .idx_banners ul li {
    width: 95%;
    margin: 0 auto 10px auto;
  }
  .idx_banners ul li a img {
    max-width: 100%;
  }
  .idx_banners ul li a:hover {
    opacity: .8;
  }
  .idx_banners ul li:last-child {
    margin: 0 auto 0 auto;
  }
  .box_bnr .box-pc img {
    display: none;
  }
  .box_bnr .box-sp img {
    max-width: 100%;
    margin: 0 auto;
    display: block;
    align-items: center;
  }
}
@media screen and (min-width: 680px) {
  .pc-br {
    display: block;
  }
  .sp-br {
    display: none;
  }
}
@media screen and (max-width: 680px) {
  .pc-br {
    display: none;
  }
  .sp-br {
    display: block;
  }
}
.bnr_center {
  max-width: 750px;
  margin: 50px auto;
}
@media screen and (min-width: 768px) and (max-width: 1240px) {
  .bnr_center {
    max-width: 62%;
    padding: 0 20px;
    margin: 50px auto;
  }
}


.bnr-list {
	position: relative;
	background: url("../images/idx_bnr_n.jpg") no-repeat;
	height: 288px;
	background-size: contain;
}
.ttl-bnr {
	position: relative;
    font-size: 27px;
    color: #fff;
    text-align: center;
    font-weight: bold;
    padding-top: 5px;
	width: max-content;
	margin: auto;
}
.ttl-bnr:before {
	content: '';
    position: absolute;
    background: url(../images/icon_left.png) no-repeat;
    width: 18px;
    height: 50px;
    background-size: contain;
    left: -25px;
    top: 17px;
}
.ttl-bnr:after {
	content: '';
	position: absolute;
	background: url("../images/icon_right.png") no-repeat;
	width: 18px;
    height: 50px;
	background-size: contain;
	right: -30px;
	top: 17px;
}
.cap-top {
	line-height: 1.2;
    color: #262626;
    font-weight: bold;
    padding-top: 14px;
    padding-left: 27px;
    font-size: 15px;
}
.bnr-list .content .img {
	width: 21px;
    height: 51px;
}
.bnr-list .content {
	display: flex;
    padding-left: 26px;
    padding-top: 12px;
}
.bnr-list .content .desc {
	font-weight: bold;
    display: flex;
    width: max-content;
    align-items: end;
}
.bnr-list .content .desc .top {
	display: block;
    line-height: 1.1;
    padding-left: 11px;
    padding-top: 4px;
    padding-right: 17px;
}
.bnr-list .content .desc .top span {
	display: block;
    font-size: 26px;
}
.bnr-list .content .desc .bot {
	display: block;
    line-height: 1.1;
    padding-left: 20px;
    padding-top: 4px;
	color: #ecad08;
}
.bnr-list .content .desc .bot span {
	display: block;
    font-size: 26px;
}
.bnr-list .content .desc .shape img {
	width: 22px;
    margin-top: -22px;
    display: block;
}
.bnr-list .cap-bot {
	font-size: 16px;
    color: #262626;
    font-weight: bold;
    padding-top: 8px;
    padding-left: 24px;
    letter-spacing: 0px;
}
.bnr-list .btn {
	background: #eaaa00;
    border-radius: 10px;
    width: 350px;
    color: #fff;
    line-height: 1.4;
    font-weight: bold;
    padding: 5px 10px;
    font-size: 16px;
    margin-left: 27px;
    text-align: center;
    margin-top: 8px;
    letter-spacing: 0;
}

.bnr-list.bnr-list_cus {
  background: #fff;
  box-sizing: border-box;
  height: auto;
  width: 100%;
  max-width: 750px;
  padding: 0;
}
.bnr-list.bnr-list_cus .box_ttl {
  background: #ecad08;
}
.bnr-list.bnr-list_cus .box_wrapper {
  border: 2px solid #ecad08;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  padding: 10px;
}
.bnr-list.bnr-list_cus .box_wrapper .box_content {
  /* flex: 1; */
}
.bnr-list.bnr-list_cus .box_wrapper .box_img {
  width: 300px;
}
.bnr-list.bnr-list_cus .cap-top {
  padding-left: 0;
}
.bnr-list.bnr-list_cus .content {
  padding-left: 0;
}
.bnr-list.bnr-list_cus .cap-bot {
  padding-left: 0;
}
.bnr-list.bnr-list_cus .btn {
  margin-left: 0;
}
.bnr-list.bnr-list_cus .box_wrapper .box_img img {
  max-width: 100%;
  height: auto;
  width: unset;
}
.bnr-list.bnr-list_cus .cap-top {
  padding-top: 0;
}

.btn_anchor_more {
  background: #ecad08;
  color: #fff;
  padding: 10px 20px 8px;
  position: relative;
  font-weight: bold;
  text-align: center;
  width: fit-content;
  min-width: 250px;
  margin: 0 auto;
  cursor: pointer;
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
  transition: all ease .4s;
}

.btn_anchor_more:hover {
  opacity: .85;
}

.btn_anchor_more::before {
  content: '';
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 10px solid #fff;
  transition: all ease .4s;
}

.btn_anchor_more.open::before {
  transform: translateY(-50%) rotate(180deg);
}

.box_anchor {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .bnr_center.bnr-list {
	max-width: 95%;
	margin: 20px auto;
	height: auto;
	padding-bottom: 2vw;
	background-position: right;
	background-size: cover;
	border-left: 2px solid #ecad08;
  }
	.cap-top {
		padding-left: 3vw;
	}
	.bnr-list .content {
		padding-left: 3vw;
        padding-top: 2vw;
        align-items: end;
	}
	.bnr-list .cap-bot {
		padding-left: 3vw;
	}
	.bnr-list .btn {
		margin-left: 3vw;
    padding: 1.5vw 1.5vw .7vw;
    width: 40vw;
    margin-top: 1vw;
	}
	.ttl-bnr {
		font-size: 22px;
		padding-top: 1vw;
	}
	.bnr-list .btn,
	.bnr-list .cap-bot,
	.cap-top {
		font-size: 16px;
	}
	.bnr-list .content .desc .bot,
	.bnr-list .content .desc .top {
		font-size: 16px;
	}
	.bnr-list .content .desc .bot span,
	.bnr-list .content .desc .top span{
		font-size: 24px;
	}
	.bnr-list .content .img {
		/* width: 2.5vw;
    	height: 6vw; */
	}
	.bnr-list .content .desc .top {
		padding-right: 2vw;
		padding-left: 1.5vw;
	}
	.bnr-list .content .desc .bot {
		padding-left: 2vw;
	}
	.ttl-bnr:after {
    /* height: 4vw; */
    right: -20px;
    top: 12px;
	}
	.ttl-bnr:before {
    /* height: 4vw; */
		left: -20px;
    top: 12px;
	}
	.bnr-list .content .desc .shape img {
		width: 3vw;
    	margin-top: -3vw;
	}
  .bnr-list.bnr-list_cus {
    width: 100%;
    max-width: 480px;
    padding: 0 10px;
    border: none;
  }
  .bnr-list.bnr-list_cus .box_wrapper {
    padding: 10px;
    flex-wrap: wrap;
    gap: 20px;
  }
  .bnr-list.bnr-list_cus .box_wrapper .box_content {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .bnr-list.bnr-list_cus .box_wrapper .box_img {
    width: 100%;
    text-align: center;
  }
  .bnr-list.bnr-list_cus .box_wrapper .box_img .img {
    text-align: center;
  }
  .bnr-list.bnr-list_cus .btn {
    width: fit-content;
    padding: 10px 10px 5px 10px;
  }

  .btn_anchor_more::before {
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid #fff;
  }
}
@media screen and (max-width: 480px) {
  .ttl-bnr {
    font-size: 4.5vw;
    line-height: 1;
    padding: 12px 0 8px;
  }
  .bnr-list.bnr-list_cus .box_wrapper {
    padding: 5px;
  }
  .bnr-list .btn, .bnr-list .cap-bot, .cap-top {
    font-size: 3.4vw;
  }
  .bnr-list.bnr-list_cus .cap-top {
    padding-top: 0;
  }
  .bnr-list .content .desc .bot, .bnr-list .content .desc .top {
    font-size: 4vw;
  }
  .bnr-list .content .desc .bot span, .bnr-list .content .desc .top span {
    font-size: 5vw;
  }
  .bnr-list.bnr-list_cus .content {
    gap: 10px;
    align-items: center;
  }
  .ttl-bnr:after {
    height: 25px;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    background-size: contain;
	}
	.ttl-bnr:before {
    height: 25px;
    left: -20px;
    top: 50%;
    transform: translateY(-50%);
    background-size: contain;
	}
}
@media screen and (max-width: 430px) {
  
}































/* 小児矯正ページ「何歳から相談すべき？」の画像サイズ調整 */
.image_l .img img[src*="kids_img1"] {
  width: 100%;
  aspect-ratio: 650 / 430;
  object-fit: cover;
  object-position: center;
  display: block;
}
