@import url("//share.cr-cms.net/hp_agency/hpagency.css");

/*---------------------------
テンプレート
フラット02 ホワイト 1カラム
----------------------------*/

html {
	scroll-behavior: smooth;
  transition: 0.5s all;
}


/*フォント*/
@font-face {
	font-family: "Yu Gothic M";
	src: local("Yu Gothic Medium");
}
@font-face {
	font-family: "Yu Gothic M";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}

.pc{display:inline;}
.sp{display:none;}

.ta_c{text-align:center !important;}
.ta_r{text-align:right !important;}
.ta_l{text-align:left !important;}

.mb0{margin-bottom: 0px !important;}
.pb0{padding-bottom: 0px !important;}
.m_auto{margin-left: auto; margin-right: auto;}

.mt10{margin-top: 10px;}
.mb10{margin-bottom: 10px;}

.fw_b{font-weight: bold;}
.large_text{font-size: 1.6em;}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  letter-spacing: 1.5px;
  line-height: 1.75;
  font-size: 16px;
  color: #333;
    /* 1. 両端揃えで左右の端をピシッと揃える */
  text-align: justify;
  text-justify: inter-character;

  /* 2. 句読点が行頭に来るのを防ぎ、最適な改行ルールを適用 */
  line-break: strict;

  /* 3. 単語の途中で不自然に切れるのを防ぎつつ、溢れを防止 */
  overflow-wrap: anywhere;
  word-break: normal;

  /* 4. スマホで読みやすいゆったりした行間 */
  line-height: 1.8;
}
h2, h3, h4, #name {
  font-family: "Zen Maru Gothic", sans-serif;
  /*--font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;--*/
  font-feature-settings: "palt" 1;
  font-kerning: auto;
}
.mainArticles p {
  margin-bottom: 16px;
}
p{
  margin-left:0;
  margin-right:15px;
	
}

a{
  color:#339fd1;
}
a:hover{
  color:#ee6557;
}

/*記事下の区切り線削除*/
.mainArticles .article{
  border-bottom: none;
  padding-bottom:0;
}

.bottom0{
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}

.maru img{
  border-radius:15px;
}

.pankuz p{
  display:none;
}

strong{
  font-size:1.1em;
  color:#333;
  font-weight:bold;
  background : linear-gradient(transparent 60%, #d9f2f7 60%);
}


span.red{
  font-size:1.4em;
  color:#ff3300;
  font-weight:bold;
}


/*-------------------------------------------
コンテンツ背景色設定
-------------------------------------------*/

#wrap {
    background-color: unset;
    min-width: 1420px;
}
div#contents {
    background-color: #FFF;
}

#wrap_body{
  padding-top: 0;
  border-top: 26px solid #fff;
}

/*------------------------------
画像リンクホバーアクション
---------------------------------*/
#mainArticles a:hover img,
#sideBanners  a:hover img,
div.freeHtml a:hover img,
div.image img.gallery:hover,
#title h1 a:hover {
  filter: alpha(opacity=75);
  -moz-opacity:0.75;
  opacity:0.75;
}



/*-------------------------------------------
ギャラリー
-------------------------------------------*/
#c_bg{
  margin-bottom: 0;
}

.gallery_grid2 li.galleryGrid{
  margin-bottom:20px;
}

.gallery_grid li.galleryGrid .image{
  margin-top:25px;
}

#guide .gallery_grid li.galleryGrid .image{
    margin-bottom: 0px;
    padding-top: 7px;
    padding-right: 7px;
    padding-bottom: 0px;
    padding-left: 7px;
  background: #bec3ec;
}

#guide .comment {
    text-align: center;
    background: #bec3ec;
    padding: 5px 0;
    color: #000;
}

.gallery_grid5{
    background: #e4f3f7;
}

.corona .gallery_grid li.galleryGrid .image{
    margin-bottom: 0px;
    padding-top: 7px;
    padding-right: 7px;
    padding-bottom: 0px;
    padding-left: 7px;
  background: #e4f3f7;
}
.corona .comment {
    text-align: center;
    font-size: 14px;
    background: #e4f3f7;
    height: 4em;
}

.g_menu .gallery_grid li.galleryGrid .image{
    margin-bottom: 0px;
    padding-top: 7px;
    padding-right: 7px;
    padding-bottom: 0px;
    padding-left: 7px;
  background: #d3edec;
}
.g_menu .comment {
    background: #d3edec;
       padding-bottom: 10px;
    font-weight: bold;
    color: #287c8e;
  text-align: center;
}
.comment{
  text-align:center;
}

/*-------------------------------------------
ヘッダー
-------------------------------------------*/

#topMenu, #title{
  background-color:#FFFFFF;
}
#topMenu{
  top:100px;
}
#mainImage_body{
  /*--margin:20px 0;--*/
  margin: 0;
}

/*-------------------------------------------
デフォルトtable
-------------------------------------------*/
.article table p {
    margin: 0;
}
.article table:not(.contactTable) {
    border-collapse: collapse;
    border-left: 1px solid #ccc;
    border-spacing: 0;
    border-top: 1px solid #ccc;
    margin: 10px auto;
}
.article table:not(.contactTable) td,
.article table:not(.contactTable) th {
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    height: auto;
    padding: 10px;
    box-sizing: border-box;
}
.article table:not(.contactTable) th {
    background-color: #f7f7f7;
    text-align: center;
}


/*-------------------------------------------
改行
-------------------------------------------*/
.article p {
    margin-bottom: 1em;
}


/*-----------------------------
タイトル
-----------------------------*/
/*タイトル*/
#title {
    width: 1420px;
    /*--padding: 0 0 60px;--*/
    padding: 0 0 20px;
    margin: 0 auto;
    height: 100px;
    /*--margin-bottom: 60px;--*/
    background-color: #fff;
    margin: 0 auto;
}
#title_outer {
    height: 100px;
    /*--width: 1200px;--*/
    width: 1420px;
    margin: auto;
    background: url(/materials/177148318317201.png) no-repeat center right;
    background-size: 350px auto;
    /*--position: relative;--*/
}
#title h1 {
    background: url(/materials/177140019066601.png) no-repeat center left;
    margin: 0;
    padding: 15px 0 0;
    text-align: left;
    height: 76px;
    background-size: 282px auto;
    position: relative;
    /*--top:25px;--*/
}
#title h1 a {
    display: inline-block;
    overflow: hidden;
    text-indent: 110%;
    white-space: nowrap;
    height: 100%;
    width: 282px;
    z-index: 100;
    position: relative;
}

#title .description {
    font-size: 14px;
    padding: 2px 10px;
    line-height: 1.6em;
    color: #1D1D1D;
    position: absolute;
    top: 0;
    /*--font-family: 'Shippori Mincho', serif;--*/
}

#title .description {
width: unset;
}

/*-----------------------------
トップイメージ
-----------------------------*/

/*TOPイメージを画面最上部に*/
div#mainImage {
  position: relative;
  width: 100%;
  z-index: -1;
  margin-top: 0px;
  /*--border-top:2px solid #ee6557;--*/


/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#e8f8fb+1,ffffff+100 */
background: #e8f8fb; /* Old browsers */
background: -moz-linear-gradient(top,  #e9f0fb 1%, #ffffff 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #e9f0fb 1%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #e9f0fb 1%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e9f0fb', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */

}

/*TOPイメージの上に白枠透過*/
div#mainImage_body:before {
    content: "";
    display: block;
    z-index: 1;
    /*--background: url(/materials/156655482708501.png) top center no-repeat;--*/
    width: 100%;
    /*height: 700px;*/
    position: absolute;
  max-height: 700px;
}

/*TOPイメージを幅100%に*/
.mainImage #slider li img {
    max-width: 100%;
}

/*-----------------------------
トップメニュー
-----------------------------*/

#topMenu {
    width: 100%;
    position: absolute;
    min-height: auto;
    background: transparent;
    max-width: 1420px;
    margin-left: auto;
    margin-right: auto;
    top:40px;
    right: 0;
    left: 0;
    text-align: center;
    /*--
    background: #fff;
    border-top: 1px solid #ee6557;
    border-bottom: 1px solid #ee6557;--*/
    /*--background: #ee6557;--*/
}

/*グローバルメニューfix*/
#topMenu.fixed {
    position: fixed;
    top: 0;
    z-index: 100;
    background: #fff;
}

#topMenu_outer {
    background: none;
    margin: 0px auto;
    width: 100%;
    max-width: 1420px;
    text-align: center;
}

#topMenu .topMenu{
    width: 700px;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    transform: translateX(-35px);
}

#topMenu .topMenu li {
    width: 20%;
    padding: 0;
    border-right: 1px solid #ccc;
    box-sizing: border-box;
}

#topMenu .topMenu li.first{
    border-left: 1px solid #ccc;
}

#topMenu .topMenu li a {
    box-sizing: border-box;
    font-size: 15px;
    /*--letter-spacing: 0.1em;--*/
    letter-spacing: 0;
    font-feature-settings: "palt";
    padding: 14px 0 18px 0;
    width: 100%;
    background: none;
    /*--color: #fff;--*/
    color: #333;
    /*--font-family: 'Shippori Mincho', serif;--*/
}

#topMenu .topMenu li a::after{
  width:100%; 
  display: block; 
  font-size: 0.7em;
  color:#ee6557;
}

#topMenu .topMenu li.first a::after{content: "HOME";}
#topMenu .topMenu li.second a::after{content: "DOCTOR";}
#topMenu .topMenu li.third a::after{content: "TREATMENTS";}
#topMenu .topMenu li.fourth a::after{content: "CONCEPT";}
#topMenu .topMenu li.fifth a::after{content: "CLINIC";}

#topMenu .topMenu li a:hover,#topMenu .topMenu li a:hover::after {
    color:#fff;
  }


#topMenu .topMenu li.first a:hover,
#topMenu .topMenu li.second a:hover,
#topMenu .topMenu li.third a:hover,
#topMenu .topMenu li.fourth a:hover,
#topMenu .topMenu li.fifth a:hover {
    /*--transform: scale(1, 1);--*/
	color: #fff;
    background: #ee6557;
}



/*-----------------------------
見出し
-----------------------------*/
#mainArticles h2, #mainServices h2, #mainTopics h2, #listTopics h2{
  padding: 10px 10px 20px 10px;
  font-size:1.8em;
  margin: 35px 0 10px 0;
  font-weight:bold;
  border-bottom:none !important;
  color:#4e8ecf;
  text-align: center;
  width: 100%;
}

/*--

.mainContents .article h3, .mainContents div.gallery h3 {
   color: #fff;
    padding: 0.5em 0.5em 0.5em 3.5em;
    font-size: 1.6em;
    margin-bottom: 1.5em;
    margin-top: 2em;
    font-weight: 500;
    text-align: left;
    background: url(/materials/168266300837901.png) #ee6557 no-repeat 15px 18px;
    background-size: 60px 30px;
  
}

.mainContents .article.half h3{
  margin-top:0.5em;
  margin-bottom: 1em;
  background:none;
  padding: 0
}--*/

.mainContents .article h3, .mainContents div.gallery h3 {
  /* 下線を消して、上の線が見えやすいように余白を調整 */
  border-top: dotted 1px #aaa; 
  border-bottom: none;
  position: relative;
  padding-top: 20px; /* 線と文字の間の距離 */
  padding-bottom: 20px;
  font-size: 1.8em;
  color: #ee6557;
  font-weight: bold;
}
.mainContents .article h3:after, .mainContents div.gallery h3:after {
  position: absolute;
  content: " ";
  display: block;
  /* topを基準にする */
  border-bottom: solid 1px #ee6557;
  top: -1px; 
  width: 20%;
}


.mainContents .article h4 {
    font-size: 1.2em;
    /*--padding-left: 1.4rem;--*/
    /*--margin-top: 40px;--*/
    margin-bottom: 20px;
    position: relative;
    font-weight: bold;
    color: #ee6557;
    border-bottom: dotted 1px #ee6557;
    letter-spacing: 0;
    font-feature-settings: "palt";
    display: flex;
  line-height: 28px;
    /*padding-bottom: 10px;*/
      padding: 10px 0 ;
}


.h4_features {
  display: flex;
  align-items: center;
  gap: 10px; /* アイコンと文字の間隔 */
  font-size: 1.25rem;
}

.h4_features::before {
  content: "POINT";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  
  /* 丸のデザイン */
  width: 50px;
  height: 50px;
  background-color: #4e8ecf;
  border: 2px solid #36689b;
  color: #fff;
  font-size: 0.7rem;
  font-weight: bold;
  border-radius: 50%; /* これで丸になります */
  flex-shrink: 0; /* 文字数が増えても丸が潰れないように固定 */
}

/*h5*/
.article h5 {
	/*--display: inline-block;--*/
	/*--border-bottom: 2px solid #339fd1;--*/
	/*--margin-bottom: 1em;--*/
	/*--padding-top: 0.5em;--*/
  margin-bottom: 0.5em;
  padding-top: 0;
	/*--color: #505050;--*/
  color: #339fd1;
  font-size: 18px;
}

/*col3*/
.article.col3 h5 {
	text-align: center;
	display: block;
  font-size: 1em;
}

.article.col3 h5 span {
	color: #ee6557;
}



/*-----------------------------
テーブル
-----------------------------*/
/*テーブル*/
table.table{
  border-collapse:collapse;
  width:100%;
  margin:0 0 20px 0;
}
table.table th,
table.table td{
  padding:7px;
  border:solid 1px #ccc;
}
table.table th{
  background:#fcf5f4 !important;
  width:30%;
}
table.table td.price{
  text-align:right;
}

/*テーブル 経歴*/
table.keireki{
  border-collapse:collapse;
  width:100%;
  margin:0 0 20px 0;
  display:inherit;
}
table.keireki th,
table.keireki td{
  padding:7px;
  border:solid 1px #ccc;
}
table.keireki th{
  background:#fcf5f4 !important;
  width:30%;
}

/*テーブル 比較*/
table.hikaku{
  border-collapse:collapse;
  width:100%;
  margin:0 0 20px 0;
}
table.hikaku th,
table.hikaku td{
  padding:7px;
  border:solid 1px #ccc;
  width:33.3%;
}
table.hikaku th{
  background:#fcf5f4 !important;
}
table.hikaku th.jyurai{
  background:#eee !important;
}
table.hikaku th.implant{
  background:#fdf5dc !important;
}

/*normalTbl*/
.article table.normalTbl {
	border-collapse: collapse;
	border-left: 1px solid #ccc;
	border-spacing: 0;
	border-top: 1px solid #ccc;
	margin: 20px auto;
	letter-spacing: 0.05em;
	width:100%
}
.article table.normalTbl th {
	background-color: #fcf5f4;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	color: #555;
	height: auto;
	line-height: 150%;
	padding: 10px;
	text-align: center;
	vertical-align: middle;
	width: 33%;
}
.article table.normalTbl td {
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	height: auto;
	line-height: 150%;
	padding-top: 10px;
	padding-right: 15px;
	padding-bottom: 10px;
	padding-left: 15px;
}

/*診療時間*/

.article table.time_table {
	border-collapse: collapse;
	border-left: 1px solid #ccc;
	border-spacing: 0;
	border-top: 1px solid #ccc;
	margin: 20px auto;
	letter-spacing: 0.05em;
	width:100%;
}
.article table.time_table th {
	/*--background-color: #fcedf4;--*/
  background: #fcf5f4;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	color: #555;
	height: auto;
	line-height: 150%;
	padding: 10px;
	text-align: center;
	vertical-align: middle;
}
.article table.time_table td {
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	height: auto;
	line-height: 150%;
	padding:10px;
     text-align: center;
    font-weight: bold;
  
}


.article table.time_table2 {
	border-collapse: collapse;
	border-left: 1px dotted #ccc;
	border-spacing: 0;
	border-top: 1px dotted #ccc;
	margin: 20px auto;
	letter-spacing: 0.05em;
	width:100%;
}
.article table.time_table2 th {
	/*--background-color: #fcedf4;--*/
  background: none;
	border-bottom: 1px dotted #ccc;
	border-right: 1px dotted #ccc;
	color: #555;
  width: calc(100% / 7);
	height: auto;
	line-height: 150%;
	padding: 10px;
	text-align: center;
	vertical-align: middle;
}
.article table.time_table2 td {
	border-bottom: 1px dotted #ccc;
	border-right: 1px dotted #ccc;
	height: auto;
	line-height: 150%;
	padding:10px;
  text-align: center;
  /*--font-weight: bold;--*/
  
}


/*価格表*/
.article table.price_table {
	border-collapse: collapse;
	border-left: 1px solid #ccc;
	border-spacing: 0;
	border-top: 1px solid #ccc;
	margin: 20px 0 auto;
	letter-spacing: 0.05em;
}
.article table.price_table th {
	background-color: #fcedf4;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	color: #555;
	height: auto;
	line-height: 150%;
	padding: 10px;
	text-align: center;
	vertical-align: middle;
  width: 40%;
}
.article table.price_table td {
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	height: auto;
	line-height: 150%;
	padding:10px;
     text-align: center;
    font-weight: bold;
  
}

.article table.price_table2 {
	border-collapse: collapse;
	border-left: 1px solid #ccc;
	border-spacing: 0;
	border-top: 1px solid #ccc;
	margin: 20px 0 auto;
	letter-spacing: 0.05em;
  width:100%;
}
.article table.price_table2 th {
	background-color: #fcedf4;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	color: #555;
	height: auto;
	line-height: 150%;
	padding: 10px;
	text-align: center;
	vertical-align: middle;
  width: 50%;
}
.article table.price_table2 td {
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	height: auto;
	line-height: 150%;
	padding:10px;
     text-align: center;
    font-weight: bold;
  
}


#article_contact_ext {
    font-size: 16px;
}
.mainServices .service .description {
    font-size: 16px;
}


/*----------------------------------
最新情報
-------------------------------------*/

/* トップの最新情報 #mainTopics
   最新情報一覧ページ #listTopics  */

/*日付*/
#mainTopics .topics li p.date ,
#listTopics .topics li p.date {
    font-size: 16px;
    color: #999;
}

/*リンクタイトル*/
#mainTopics .topics li h3 ,
#listTopics .topics li h3 {
    font-size: 16px;
    font-weight: normal;
}
/*リード文*/
#mainTopics .topics li p.description ,
#listTopics .topics li p.description {
    color: #999;
    font-size: 16px;
}
/*続き*/
#mainTopics .topics li p.more ,
#listTopics .topics li p.more {
    font-size: 16px;
}
/*一覧を見る*/
#mainTopics .listview {
     font-size: 16px;
}

#mainTopics .topics li .more a{
  font-size:16px;
}

#mainTopics{
  margin-top:30px;
}

.mainTopics .topics li{
  border-bottom:none !important;
}

/*-------------------------------------------
サイドコンテンツ
--------------------------------------------*/
#sideContents_outer {
padding: 30px 0 30px 0;
}
#sideContents {
background: #fcf5f4;
/*--color: #FFF;--*/
}
div.side {
  text-align: center;
}
.freeHtml {
  width: 100%;
  clear: both;
  margin: 20px 0 40px 0;
  font-size:1em;
min-height: 10px;
}
.freeHtml_outer {
  padding: 0px;
  /*--background-color:#42b9d0;--*/
  background: none;
  margin-bottom:2em;
}
#toFormBtn a {
  background-color: #fff;
  color: #00306e;
  font-weight: bold;
  margin: 10px auto 5px;
  padding: 20px;
  display: block;
  text-decoration: underline;
  border-radius: 3px;
}
#toFormBtn a:hover {
  background-color: #6af;
  color: #fff;
}

#sideMobile{
  margin-bottom:50px;
}
.sideMobile p {
    font-size: 16px;
}

.sideMobile h2 {
  background-image:none;
  margin-bottom: 5px;
  font-size:1em;
  padding:15px 0 10px 0;
}

.sideServices h2 {
  padding:15px 26px 10px 0;
  background-image:none;
  margin-bottom: 5px;
  font-size:1em;
}
.sideServices ul li a {
  background: url(/materials/158190302320005.png) 8px center no-repeat;
  color: #fff;
  font-size:1em;
  text-decoration:none;
  padding:5px 0 5px 30px;
}
.sideServices ul li a:hover{
  color:#ff0;
}

#sideBanners {
margin: 0;
}
#sideBanners li{
  margin-bottom:0;
}
#sideBanners li img {
background-color: #42b9d0;
padding: 10px 0;
}


/*カテゴリ*/
#sideBlogCategories,
#sideBlogDates {
  display: inline-block;
  margin: 0 0 45px;
}
.sideBlogCategories h2, .sideBlogDates h2 {
  margin-bottom: 10px;
  line-height: inherit;
  font-size: 1em;
  padding: 10px;
  color:#333333;
  background-image:none;
}

.sideBlogCategories h2:before, .sideBlogDates h2:before{
  background:none;
}
.sideBlogCategories h2:after, .sideBlogDates h2:after{
  display:none;
}

.sideBlogCategories li ,
.sideBlogDates li {
  margin: 10px;
  line-height: inherit;
  display: block;
}

.sideBlogCategories li a,
.sideBlogDates li a {
  background: url(/materials/158190302320005.png) 8px center no-repeat;
  color: #333333;
  font-size:1em;
  text-decoration:none;
  padding:5px 0 5px 30px;
}

.sideBlogCategories li a:hover,
.sideBlogDates li a:hover {
  color:#24aad8;
  text-decoration:underline;
}


/*追従型ボタン*/
.freeHtml #contact-box{
  position:fixed;
  top:150px;
  right:0px;
  z-index:100;
  width:50px;
}

/*-------------------------------------------
サイドコンテンツ
--------------------------------------------*/

#side{
  width:980px;
  /*--border-bottom:1px solid #aee6f1;--*/
  display: flex;
  flex-wrap:wrap;
  justify-content: space-between;
  align-items:center;

}
#side p{
  margin-bottom:0em;
}
#side_left{
  width: 35%;
  /*--float:left;--*/
  margin:0;
}
#side_right{
  /*--float:left;--*/
  width: 60%;
  text-align:left;
  margin:0;
}
#side_right span{
  /*--font-size:200%;--*/
  font-weight:bold;
}
#side_right span.small{
  font-size:0.7em;
  font-weight:bold;
}

#side iframe{margin: 20px 0;}

#side a{color: #fff;}

/*プロフィール*/
dl.profile{
  max-width: 700px;
  font-size:18px;
  margin:0;
}
dl.profile dt{
  float:left;
  clear:left;
  width:130px;
  font-weight:bold;
  padding:1px 0 1px 16px;
  background:url(/materials/158190302320006.png) 0 11px no-repeat;
}
dl.profile dd{
  float:left;
  width:540px;
}
dl.profile a{
  color:#fff;
}
dl.profile a:hover{
  color:#ff0;
}

/*-------------------------------------------
フッター
--------------------------------------------*/

#footer {
padding: 25px 0 25px 0;
background-color: #ee6557;
}
.footer li a {
text-decoration: underline;
color: #FFF;
font-size: 16px;
}
.footer li a:hover{
  color:#ff0;
}
.footer p a:hover{
  color:#ff0;
}
.footer * {
font-size: 16px;
color: #FFF;
}
.footer .copyright {
padding: 20px 0 0 0;
clear: both;
}

/*スマホ画面下リンクパーツ*/
#bottomLink{
    display: none;
}

 #topMenu_outer {
    background:none;
}





#yoyaku{
  margin: 0;
  padding: 0;
  position: absolute;
  top: 150px;
  z-index:9999;
}

/*201808_IE対応---*/
div#mainImage{
	position:static;
}

/*--
div#title{
z-index:5;
position:relative;
}--*/

.topic.odd{
  z-index:2147483647;
}



/*-------------------------------------------
その他
--------------------------------------------*/


/*リンクボタン*/
a.linkbtn {
  background-color: #00a0dc;
  /*--border-radius: 24px;--*/
  border-radius: 3px;
  color: #fff;
  display: inline-block;
  width:auto;
  min-width: 200px;
  margin: 18px 0;
  padding: 6px 20px;
  text-align: center;
  /*--font-size:1.2em;--*/
  font-weight:bold;
  text-decoration: none;
  border:2px solid #00a0dc;
}

a.linkbtn:hover {
  /*--background-color: #fff;--*/
  color:#fff;
}

ul.linklist {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

ul.linklist li {
  width: calc((100% - 40px) /5);
  /*--margin: 0 0.5em 0.5em;--*/

}

ul.linklist li a.linkbtn{
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
  min-width: initial;
  width: 100%;
  font-feature-settings:"palt";
  position:relative;
  text-align: left;
  text-indent: 10px;

}

ul.linklist li a.linkbtn::before {
  position: absolute;
  content: "";
  top: 1.2em;
  right: 16px;
  width: 0.4em;
  height: 0.4em;
  border-right: 3px solid #FFF;
  border-bottom: 3px solid #FFF;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg) translateY(-50%);
  display: block;
}

ul.StyleCheckList {
  list-style: outside none;
  line-height: 2;
  padding-left: 2.5em;
}
ul.StyleCheckList li {
  position: relative;
  font-size: 16px;
}
ul.StyleCheckList li::before {
  display: block;
  content: '';
  position: absolute;
  top: 0.4em;
  left: -2em;
  width: 0.9em;
  height: 0.5em;
  border-left: 4px solid #E55;
  border-bottom: 4px solid #E55;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/*ページリストデザイン*/
ol.pp {
padding-left: 2em;
}
ol.pp li {
list-style-type: decimal;
padding: 5px;
}
ul.ps {
font-size: 16px;
list-style-type: none;
margin-left:1em;
/*--color:#8e7d74;--*/
}
ul.ps li::before {
content: "※";
margin-left: -1em;
font-family: "メイリオ", sans-serif;
}
ul.cyui {
font-size: 16px;
list-style-type: none;
margin-left:1em;
font-weight:bold;
}
ul.cyui li::before {
content: "●";
margin-left: -1em;
font-family: "メイリオ", sans-serif;
}

ul.square {
  font-size: 16px;
  list-style-type: none;
  margin-left:1em;
  font-weight:normal;
  }
  ul.square li::before {
  content: "■";
  margin-left: -1em;
  font-family: "メイリオ", sans-serif;
  color:#ffd700;
  }

/*リスト*/
ol.orderList {
    padding-left: 2em;
}
ol.orderList li {
    list-style-type: decimal;
    padding: 5px;
}

ul.simpleList {
    /*--padding-left: 2em;--*/
    margin-left:1em;
}
ul.simpleList li {
    list-style-type: disc;
    /*--padding: 5px;--*/
}

/*他ページへの導線*/
.overlay-nav-wrap{
  padding:0;
  background:none;
}
.overlay-nav-wrap ul{
  display:flex;
  flex-wrap:wrap;
}
.overlay-nav-wrap ul li{
  width:23.5%;
  margin:0 1.5% 10px 0;
}
.overlay-nav-wrap ul li:last-child{
  margin:0;
}
.overlay-nav-wrap ul li a{
  display:block;
  padding:10px 6px;
  color:#333;
  text-align:center;
  text-decoration:none;
  background:#71d8ec;
  border-radius:4px;
  border:1px solid #42b9d0;
}
.overlay-nav-wrap ul li a:hover{
  opacity:0.6;
}

div.envelope {
  background-color: #fcf5f4;
  border: 1px solid #ddd;
  border-radius: 4px;
  margin: 5px 0;
  padding: 20px;
  border-bottom:1px solid #ddd !important;
  width:940px !important;
}


/*設備紹介 ハーフ記事*/
.mainArticles .article.half {
  border: none;
  width: 46%;
  display: inline-block;
  box-sizing: border-box;
  padding: 10px;
  margin: 0 0.5% 40px;
  vertical-align: top;
  background: #fff;
  border:1px solid #77ccf3;
  border-radius:4px;
}

/* 流れ */
table#flowTbl {
    border-collapse: collapse;
    border-spacing: 0;
    border: none;
    margin: 10px auto;
    width: 98%;
}
#flowTbl td {
    border: 2px solid #339fd1;
    display: block;
    height: auto;
    margin-bottom: 50px;
    padding: 2%;
    background:#fff;
    position: relative;
    text-align: center;
}
#flowTbl td:after {
    color: #006699;
    content: "▼";
    font-size: 48px;
    left: 0;
    right:0;
    margin: auto;
    position: absolute;
    text-align: center;
    top: 90%;
    transform: scaleY(0.5);
}
#flowTbl tr:last-child td {
    margin-bottom: 0;
    background:#fff;
}
#flowTbl tr:last-child td:after {
    display:none;
}
#flowTbl td strong {
    color: #0099cc;
    display: block;
    font-size: 115%;
    text-align:center;
    font-style: normal;
    font-weight: bold;
    margin-bottom: 0px;
    border-bottom:none;
    background:none;
}


/*よくある質問*/
ul.faq {
  margin:2em 0;
  border-bottom:1px dotted #666;
}
ul.faq li.qus ,
ul.faq li.ans {
    display: block;
    font-size: 100%;
    line-height: 1.6;
    margin-bottom: 20px;
    padding-left: 3em;
}
ul.faq li.qus{
  font-weight:bold;
  font-size:120%;
}
ul.faq li.qus::before ,
ul.faq li.ans::before {
    border-radius: 4px;
    color: #fff;
    display: inline-block;
    font-size: 100%;
    height: 32px;
    line-height: 32px;
    margin: 0 1em 0 -3em;
    text-align: center;
    width: 32px;
}
ul.faq li.qus::before {
    background-color: #f3d00d;
    content: "Q";
    color:#000;
}
ul.faq li.ans::before {
    background-color: #339fd1;
    content: "A";
}

/*順序リスト*/
ol.StyleOrderList {
    counter-reset: number 0;
    list-style: outside none none;
    padding-left: 40px;
    line-height: 2;
}
ol.StyleOrderList li::before {
    background: #339fd1;
    border-radius: 50%;
    color: #fff;
    content: counter(number, decimal);
    counter-increment: number 1;
    display: inline-block;
    height: 2em;
    margin-left: -40px;
    margin-right: 0.5em;
    text-align: center;
    width: 2em;
    font-family: monospace;
    font-weight:bold;
}
ol.StyleOrderList li {
    margin-bottom: 0.4em;
}

/*リンクボックス*/

.menubox li a{
    width: 29%;
    float: left;
    padding: 10px 10px;
    background: #19b3e5;
    border-radius: 5px;
    text-align: center;
    margin: 5px 2px;
    color: #fff;
    text-decoration: none;
}

.menubox li a:hover {
  filter: alpha(opacity=75);
  -moz-opacity:0.75;
  opacity:0.75;
}


/*診療科目*/

.menu li {
    width: 31%;
    float: left;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    border-bottom: 1px solid;
    margin: 10px;
    background: url(/materials/160256215603501.png)no-repeat;
}

.smalltext{
  font-size:14px;
}

.barrierfree {
    padding: 20px 0px 0;
    border-top: 3px dashed #ccc;
    /* border-radius: 10px; */
    border-bottom: 3px dashed #ccc !important;
    background: #fdfdf3;
}



/*フォーム*/

/*確認ボタン*/
table.contactTable input.button {
background-image: none;
background-color: #f06b6b;
border: none;
color: #fff;
display: block;
font-size: 16px;
height: 50px;
letter-spacing: 1px;
margin: 0 auto;
outline: none;
width: 50%;
padding: 8px;
border-radius: 8px;
box-shadow: 0 3px #fbf9f2;
}
table.contactTable input.button:hover {
background-image: none;
background-color: #d79b9b;
cursor: pointer;
box-shadow: none;
top: 3px;
position: relative;
}

/*戻るボタン*/
table.contactTable input[type="button"] {
background-image: none;
background-color: #777;
border: none;
color: #fff;
display: block;
font-size: 16px;
height: 50px;
letter-spacing: 1px;
margin: 16px auto;
outline: none;
width: 50%;
padding: 8px;
border-radius: 8px;
box-shadow: 0 3px #fbf9f2;

}
table.contactTable input[type="button"]:hover {
background-image: none;
background-color: #777;
cursor: pointer;
box-shadow: none;
top: 3px;
position: relative;
}

.contact-note {
font-size: 12px;
}
#article_contact_ext {
font-size: 14px;
border: none;
}
.validator-form .validator-field.validator-invalid {
background-color: #ede8e2;
}
/*.validator-form .validator-valid {
background-color: #443;
}*/

/*ブログ見出し調整*/
.article h3 a, .article h3 a:hover {
color: #fff;
text-decoration: none;
}

/*MainArticles*/
#mainArticles_body.mainArticles {
	display: flex;
	flex-wrap: wrap;
	/*justify-content:space-between;*/
    justify-content: space-evenly;
}

.mainArticles .article.col3 {
	width: calc((100% - 40px) / 3);
}

.mainArticles .article.col2 {
	width: calc((100% - 40px) / 2);
}

.mainArticles .article.col4 {
	width: calc((100% - 40px) / 4);
}

/*--------------------
motto
-----------------------*/
.article.col3.motto {
	background: #7dceed;
	/*--border-radius: 50%;--*/
  border-radius: 50%;
	aspect-ratio: 1;
	/*--padding: 16px 32px;--*/
  padding: 10px 45px;
  box-sizing: border-box;
}

.article.col3.motto h5{
	border-bottom: 2px solid #339fd1;
  margin-bottom: 0.5em;
  padding-top: 0;
  color: #333;
}

.article.col3.motto h5 span {
	display: block;
	background: #ee6557;
	color: #FFF;
  /*--
	width: 3em;
	height: 3em;
	line-height: 3em;--*/
  width: 2.2em;
	height: 2.2em;
	line-height: 2.2em;
	margin: auto;
	border-radius: 50%;
}

.article.col3.motto p{
  margin: 0;
  line-height: 1.5em;
  letter-spacing: 0;
  font-feature-settings: "palt";
  font-size: 15px;
}


#icon_bus{background:url(/materials/177155569552701.png) no-repeat left center; padding-left: 40px; background-size: 40px;}
#icon_car{background:url(/materials/177155569552802.png) no-repeat left center; padding-left: 40px; background-size: 40px;}


.div_features {
  background-color: #fff;
  border-radius: 15px;
  margin: 5px 0;
  padding: 20px !important;
  border: 3px solid #fdee21;
  border-bottom: 3px solid #fdee21 !important;
  width:940px !important;
  box-sizing: border-box;
   background-color: #fffef3;
}

.freeHtml #contact-box{
  position:fixed;
  top:146px;
  right:0px;
  z-index:100;
  width:65px;
}

/*見出し*/
#mainArticles h2, #mainServices h2, #mainTopics h2, #listTopics h2 {
    padding: 100px 10px 100px 10px;
    font-size: 1.8em;
    margin: 10px 0 10px 0;
    font-weight: bold;
    border-bottom: none !important;
    color: #4e8ecf;
    text-align: center;
    width: 100%;
    background: url(/materials/177510018391301.png) no-repeat center;
}

h2::before {
  content: "";
  display: inline-block;
  width: 50px;  /* 画像の幅 */
  height: 50px; /* 画像の高さ */
  background-image: url('/materials/177510157795301.png');
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-right: 10px; /* テキストとの間隔 */
}

#slider .slick-slide {
    display: flex;
    align-items: center;
    display: block;
}

.sideServices ul li a {
    background: url(/materials/158190302320005.png) 8px center no-repeat;
    color: #333;
    font-size: 1em;
    text-decoration: none;
    padding: 5px 0 5px 30px;
}


/* 比較表のコード追加▼ */
/* 全体のラッパー（スマホで横スクロールさせる設定） */
.k-comparison-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 20px 0;
}

/* テーブル基本スタイル */
.k-comparison-table {
  width: 100%;
  min-width: 600px; /* スマホで潰れないよう最低幅を確保 */
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  font-family: "sans-serif";
  line-height: 1.6;
}

/* ヘッダー部分 */
.k-comparison-table th,
.k-comparison-table td {
  padding: 15px;
  text-align: center;
  border-bottom: 1px solid #e0e0e0;
  border-right: 1px solid #e0e0e0;
}

.k-comparison-table thead th {
  color: #4e8ecf;
  font-weight: bold;
  font-size: 1.1em;
}

/* 項目列（一番左） */
.k-comparison-table tbody th {
  background-color: #f9fbfd;
  color: #555;
  width: 25%;
  font-weight: bold;
}

/* ホームホワイトニング側のカラー（青系） */
.is-home {
  background-color: #5ba9d0;
}

/* オフィスホワイトニング側のカラー（緑・水色系） */
.is-office {
  background-color: #78c2c4;
}

/* 強調テキスト */
.k-comparison-table strong {
  color: #ee6557;
  font-size: 1.1em;
}

.u-small {
  font-size: 0.85em;
  color: #777;
  display: block;
  margin-top: 4px;
}

/* 最後のセルは右ボーダーを消す */
.k-comparison-table th:last-child,
.k-comparison-table td:last-child {
  border-right: none;
}

/* 最後の行は下ボーダーを消す */
.k-comparison-table tr:last-child th,
.k-comparison-table tr:last-child td {
  /*border-bottom: none;*/
}