@charset "UTF-8";
/* category */
.img_right {
	float: right;
	width: 40%;
	margin: 0 0 10px 10px;
}
.img_right55 {
	float: right;
	width: 55%;
	margin: 0 0 10px 10px;
}
.img_right img,
.img_right55 img {
	width: 100%;
}
img.full {
	width: 100%;
}
#column h1 {
	background: -moz-linear-gradient(top, #4cccee 0%, #3cc1e5 50%, #049cce 100%); /* firefox */
	background: -webkit-gradient(
		linear,
		left top,
		left bottom,
		color-stop(0%, #4cccee),
		color-stop(50%, #3cc1e5),
		color-stop(100%, #049cce)
	); /* webkit */
}
#column h2 {
	background-color: #185584;
}
#column h3 {
	margin-bottom: 10px;
	clear: both;
}
#column h4 {
	background-color: #b9f4f9;
	border: 1px dotted #00aee0;
	text-align: left;
	margin-bottom: 10px;
	padding: 6px 4px 4px 2px;
	line-height: 1.2em;
}

#column .category01 .about_box {
	border: 1px solid #ccc;
	padding: 10px 10px 0 10px;
	margin-bottom: 10px;
}
#column .category01 p.here a {
	text-align: right;
	border-top: 1px dotted #185584;
	clear: both;
	padding-top: 0.8em;
}

#column .category01 section {
	overflow: hidden;
	zoom: 1;
	padding: 10px 10px 10px 50px;
	margin-bottom: 1em;
	background-color: #d7f2ff;
	background-image: url(../../images/category/category14_vis_02.gif);
	background-repeat: no-repeat;
	background-position: 5px 10px;
}
#column .category01 section p.last-child {
	margin-bottom: 0;
}

h3 {
	text-align: left;
	font-weight: bold;
}

.overbite_h3 {
	color: #135486;
}

.dentition_a a {
	text-align: left;
	text-decoration: underline;
	color: #333333;
	display: inline;
}

.dentition_a a:hover {
	text-align: left;
	text-decoration: underline;
	color: #6699ff;
	display: inline;
}

h3.implant_stitle {
	background-image: url(../../images/common_h3_back.gif);
	background-repeat: repeat;
	background-position: left top;
	text-align: left;
	clear: both;
	padding: 10px;
	margin-bottom: 10px;
}

h3.bluettl {
	background-color: #0f87cf;
	color: #fff;
	padding: 8px 10px;
}

h5 {
	text-align: left;
	font-weight: bold;
}

/*------------------------
ガミースマイル症例写真
-------------------------*/
.gummy_photo {
	border: #333333 1px solid;
	margin: 10px;
	padding: 10px;
}

/*----------------------
box
-----------------------*/
.red_box {
	border: #ff5555 1px solid;
	margin: 20px;
	padding: 10px;
	color: #ff5555;
	clear: both;
}
.red_box p {
	margin: 0;
	padding: 0;
}

/*---------------------
数字のリスト
----------------------*/
ol.overbite_number {
	list-style-type: decimal !important;
	list-style-position: outside;
}

ol.overbite_number li {
	margin-left: 20px;
	text-align: left;
	list-style-type: decimal !important;
	line-height: 1.3;
}

/*-----------------------
症例写真のボックス
------------------------*/
.overbite_photobox {
	border: #cccccc 1px solid;
	margin: 0 auto;
	width: 80%;
	padding: 10px;
}

/*------------------------
出っ歯の治し方
--------------------------*/
.overbite_box a {
	text-align: left;
	display: inline;
	color: #ff3282;
	text-decoration: underline;
}

/*-----------------------
LINK
-------------------------*/

.implant_link {
	text-align: center;
}
.implant_link a {
	text-align: left;
	display: inline;
	color: #ffffff;
	background-color: #2492c4;
	padding: 10px;
	border-radius: 5px; /* CSS3草案 */
	-webkit-border-radius: 5px; /* Safari,Google Chrome用 */
	-moz-border-radius: 5px; /* Firefox用 */
}

.implant_link a:hover {
	text-decoration: underline;
}

/*----------------------
monitor ol
-----------------------*/

.implant_ol {
	padding-left: 20px;
	margin-bottom: 1em;
}

.implant_ol li {
	text-align: left;
	list-style-position: outside;
	line-height: 1.3;
	list-style-type: decimal !important;
}

/*------------------------
compareコンテンツ table
------------------------*/

table.brwsr1,table.brwsr2 {
	font-size: 12px;
	border-collapse: separate;
	border-spacing: 0px 1px;
	width: 100%;
	margin: 0 auto 20px;
}

table.brwsr1 th {
	padding: 12px;
	vertical-align: middle;
	text-align: left;
	border-bottom: #999 1px solid;
	border-top: #999 1px solid;
	color: #555;
}

table.brwsr1 td {
	padding: 12px;
	vertical-align: middle;
	text-align: left;
	border-bottom: #999 1px solid;
	font-size: 11px;
}

table.brwsr1 th.r1 {
	width: 33%;
	border-right: #999 1px solid;
	border-left: #999 1px solid;
	border-top: #999 1px solid;
}

table.brwsr1 td.r1 {
	width: 33%;
	border-right: #999 1px solid;
	border-left: #999 1px solid;
}

table.brwsr1 th.r2 {
	width: 33%;
	border-left: #fff 1px solid;
	border-right: #999 1px solid;
	background-color: #d7ebff;
}
table.brwsr1 td.r2 {
	width: 33%;
	border-left: #fff 1px solid;
	border-right: #999 1px solid;
	color: #36b0e3;
	text-align: center;
}

table.brwsr1 th.r2,
table.brwsr1 th.r3,
table.brwsr1 th.r4 {
	text-align: center;
}

table.brwsr1 th.r3 {
	width: 33%;
	border-left: #fff 1px solid;
	border-right: #999 1px solid;
	background-color: #e6e6e6;
}

table.brwsr1 td.r3 {
	width: 33%;
	border-left: #fff 1px solid;
	border-right: #999 1px solid;
	text-align: center;
}

table.brwsr1 th.r4,
table.brwsr1 td.r4 {
	width: 128px;
	border-left: #fff 1px solid;
	background: #a0c2d3;
}
table.brwsr2 th {
	padding: 12px;
	vertical-align: middle;
	text-align: left;
	border-bottom: #999 1px solid;
	border-top: #999 1px solid;
	color: #555;
}

table.brwsr2 td {
	padding: 12px;
	vertical-align: middle;
	text-align: left;
	border-bottom: #999 1px solid;
	font-size: 11px;
}

table.brwsr2 th.r1 {
	width: 20%;
	border-right: #999 1px solid;
	border-left: #999 1px solid;
	border-top: #999 1px solid;
}

table.brwsr2 td.r1 {
	width: 20%;
	border-right: #999 1px solid;
	border-left: #999 1px solid;
}

table.brwsr2 th.r2 {
	width: 25%;
	border-left: #fff 1px solid;
	border-right: #999 1px solid;
	background-color: #d7ebff;
}
table.brwsr2 td.r2 {
	width: 25%;
	border-left: #fff 1px solid;
	border-right: #999 1px solid;
	color: #36b0e3;
	text-align: center;
}

table.brwsr2 th.r2,
table.brwsr2 th.r3,
table.brwsr2 th.r4 {
	text-align: center;
}

table.brwsr2 th.r3 {
	width: 25%;
	border-left: #fff 1px solid;
	border-right: #999 1px solid;
	background-color: #e6e6e6;
}

table.brwsr2 td.r3 {
	width: 25%;
	border-left: #fff 1px solid;
	border-right: #999 1px solid;
	text-align: center;
}

table.brwsr2 th.r4,
table.brwsr2 td.r4 {
	width: 25%;
	border-left: #fff 1px solid;
	background: #a0c2d3;
	text-align: center;
}
.menu_list {
	padding: 0 !important;
}
.menu_list ul li a {
	color: #66b7ff;
	font-weight: 600;
	font-family: "KozGoPro-Light", "小塚ゴシック Pro L", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic,
		"メイリオ", Meiryo, sans-serif;
	line-height: 1.6;
}

.menu_list ul li a span {
	padding: 5px;
	border-top: solid 2px #66b7ff;
	display: block;
	text-align: left;
	font-size: 90%;
	color: #555;
	font-weight: normal;
	line-height: 1.3;
}

/*--------------
下部リンク
----------------*/
ul.accordion {
	margin: 0 auto 30px;
	padding: 0px;
	font-size: 14px;
	font-family: "KozGoPro-Light", "小塚ゴシック Pro L", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic,
		"メイリオ", Meiryo, sans-serif;
}
ul.accordion a {
	display: block;
	padding: 15px;
	background-position: 97% center;
	background-repeat: no-repeat;
	text-decoration: none;
	color: #555;
	font-weight: 500;
	text-align: left;
}
ul.accordion span {
	display: block;
	padding: 15px;
	background-position: 97% center;
	background-repeat: no-repeat;
	color: #fff;
	font-weight: 500;
	text-align: left;
}
ul.accordion ul {
	display: none;
}
ul.accordion > li {
	background-color: #79b6e5;
	/*background: -moz-linear-gradient(top, #4EA2BD, #71ABBC);
	background: -webkit-gradient(linear, left top, left bottom, from(#4EA2BD), to(#71ABBC));*/
	border-bottom: 1px solid #fff;
}

ul.accordion > li a {
	color: #ffffff;
}

ul.accordion > li > p {
	background-color: #79b6e5;
	/*background: -moz-linear-gradient(top, #4EA2BD, #71ABBC);
	background: -webkit-gradient(linear, left top, left bottom, from(#4EA2BD), to(#71ABBC));*/
	cursor: pointer;
	margin-bottom: 0px;
	/*border-bottom:1px solid #fff;*/
}
ul.accordion > li > p span {
	background-image: url(/sphone/images/implant/open.png);
}
ul.accordion > li > p span.open {
	background-image: url(/sphone/images/implant/close.png);
}
ul.accordion > li > ul > li {
	background: #fff;
	border-bottom: 1px solid #eee;
}
ul.accordion > li > ul > li > p {
	background: #999;
}
ul.accordion > li > ul > li > a {
	background: url(/sphone/images/implant/go.png) no-repeat 97% center;
	color: #79b6e5;
}
ul.accordion > li > ul > li > ul > li {
	background: #fff;
	border-bottom: 1px dotted #888;
}
ul.accordion > li > ul > li > ul > li:last-child {
	border: none;
}

/*---アコーディオンメニュ---*/
.displayNone {
	display: none;
}
.accordion li a {
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	padding: 15px 15px 15px 45px;
	text-align: left;
	color: #fff;
}

.contentWrap {
	background-color: #4bafe1;
}
.switch {
	cursor: pointer;
	font-weight: bold;
	padding: 15px 10px 15px 20px;
	font-size: 14px;
	color: #fff;
	background: #009ad8;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	position: relative;
	text-align: left;
}

.switch:after {
	position: absolute;
	top: 10px;
	right: 10px;
	/*margin-top: -18px;*/
	content: "＋";
	font-size: 18px;
	line-height: 24px;
	font-weight: bold;
	background-color: rgba(255, 255, 255, 0.75);
	padding: 0px;
	margin: 0;
	width: 22px;
	height: 22px;
	text-align: center;
	display: inline-block;
	border-radius: 50%;
	-moz-transition: all, 0.25s, linear;
	-o-transition: all, 0.25s, linear;
	-webkit-transition: all, 0.25s, linear;
	transition: all, 0.25s, linear;
	font-family: sans-serif;
	color: #009ad8;
}
.switch.open:after {
	content: "−";
	line-height: 22px;
	font-family: sans-serif;
}

.accordion2 li a {
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	padding: 15px 15px 15px 65px;
	text-align: left;
	color: #fff;
}

.contentWrap2 {
	background-color: #80c4e9;
}
.switch2 {
	cursor: pointer;
	font-weight: bold;
	padding: 15px 10px 15px 45px;
	font-size: 14px;
	color: #fff;
	background: #4bafe1;
	border-bottom: 1px solid rgba(255, 255, 255, 0.25);
	position: relative;
	text-align: left;
}

.switch2:after {
	position: absolute;
	top: 10px;
	right: 10px;
	/*margin-top: -18px;*/
	content: "＋";
	font-size: 18px;
	line-height: 24px;
	font-weight: bold;
	background-color: rgba(255, 255, 255, 0.75);
	padding: 0px;
	margin: 0;
	width: 22px;
	height: 22px;
	text-align: center;
	display: inline-block;
	border-radius: 50%;
	-moz-transition: all, 0.25s, linear;
	-o-transition: all, 0.25s, linear;
	-webkit-transition: all, 0.25s, linear;
	transition: all, 0.25s, linear;
	font-family: sans-serif;
	color: #009ad8;
}
.switch2.open:after {
	content: "−";
	line-height: 22px;
	font-family: sans-serif;
}

.switch_no a {
	cursor: pointer;
	font-weight: bold;
	padding: 15px 10px 15px 20px;
	font-size: 14px;
	color: #fff;
	background: #009ad8;
	border-bottom: 1px solid rgba(255, 255, 255, 0.5);
	position: relative;
	text-align: left;
}

.accordion li a {
	position: relative;
}

.switch_no a:after,
.accordion li a:after {
	position: absolute;
	top: 10px;
	right: 20px;
	content: "\f0da";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 20px;
	line-height: 24px;
	font-weight: bold;
	color: #ffffff;
}

.gummy_a a {
	text-align: left;
	text-decoration: underline;
	color: #333333;
	display: inline;
}

.gummy_a a:hover {
	text-align: left;
	text-decoration: underline;
	color: #6699ff;
	display: inline;
}

.implant_ttl {
	padding: 10px 0 5px 5px;
	color: #326a99;
	border-bottom: solid 1px #326a99;
}

.indent1 {
	padding-left: 1.8em;
	text-indent: -1.8em;
	text-align: left;
	line-height: 18px;
}

.indent2 {
	padding-left: 1.5em;
	text-indent: -1em;
	text-align: left;
	line-height: 18px;
}

.ex_box {
	margin-bottom: 20px;
	padding: 10px 10px 15px 10px;
	border: solid 1px #6dc5e9;
	background-color: #f9f9f9;
}

.ex_box2 {
	margin-bottom: 20px;
	padding: 10px 10px 15px 10px;
	border: solid 1px #cccccc;
	background-color: #f9f9f9;
}

.exttl {
	padding-top: 10px;
	color: #185584;
}

.ex_ttl {
	color: #6dc5e9;
	padding: 10px 5px 5px 5px;
}

.ex_txt {
	padding: 5px 5px 5px 20px;
}

/*-----------------------------
　スクロールで消えるヘッダ

#headerBanner {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	padding-top: 20%;
	background: url('../../images/banner/implant_sp.jpg') 0 0 no-repeat;
    background-size: contain;
	z-index: 100;
}

.scroll_no {
	top:0;
	left: 0;
	width: 100%;
}

#headerBanner, .scroll_no img{
	width: 100%;
	height: auto;
}
-----------------------------*/

.imp_faq {
	color: #888888;
	text-align: left;
	padding: 10px 20px 0px 5px;
}

h4.imp_faq {
	font-weight: bold;
	padding: 0 0 20px 0;
	font-size: 15px;
}

.implant_faq li details {
	position: relative;
	width: 97%;
	margin: 0 auto;
}

.implant_faq li details summary {
	display: block;
	cursor: pointer;
	outline: none;
	color: #66b7ff;
	font-weight: 600;
	font-family: "KozGoPro-Light", "小塚ゴシック Pro L", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic,
		"メイリオ", Meiryo, sans-serif;
	line-height: 1.6;
	border-bottom: solid 1px #ccc;
	padding: 0 10% 15px 10px;
	text-align: left;
}

.implant_faq li details summary::-webkit-details-marker {
	display: none;
}

.implant_faq li details summary h3 {
	padding: 0 0 0 15px;
	color: #185584;
}

.implant_faq li details summary::after {
	content: "＋";
	color: #66b7ff;
	font-weight: bold;
	float: right;
	width: 1.5rem;
	text-align: center;
	font-size: 28px;
	margin-right: -1em;
	margin-top: -0.6rem;
}

.implant_faq li details[open] summary::after {
	content: "−";
}

.implant_faq li details[open] summary {
	margin-bottom: 20px;
}

.implant_faq li details h5 {
	font-weight: bold;
	margin-bottom: 8px;
	color: #185584;
}

/* /////23/1/26//// */
.flex-w {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
.flex-w p img {
	width: 100%;
	margin: 10px;
}
.flex-w p {
	width: 40%;
}
.before_triangle {
	position: relative;
}
.before_triangle::after {
	content: " ";
	position: absolute;
	width: 0;
	height: 0;
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
	border-left: 15px solid #b4dcff;
	top: 50%;
	margin-top: -15%;
	right: -25%;
}
.case_ttl {
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	margin: 0;
	color: #ff3282;
}
.case_txt {
	text-align: center;
	font-weight: bold;
	font-size: 0.9rem;
}

.case_txt_p {
	padding: 10px;
	font-size: 12px;
}

.mailsam {
	/* padding: 0px 20px 10px; */
	background: #f6f6f6;
	/* width: 82%; */
	margin: 0 auto;
}
p.center img{
  max-width:100%;
  height: auto;
}
.reviews {
  padding: 20px;
  background: #f9f9f9;
}
.card .header {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}
.card .icon img {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  margin-right: 12px;
}
.card .content {
  font-size: 14px;
  margin-bottom: 8px;
}
.card .footer {
  font-size: 12px;
  color: #666;
}
.card .footer p{
  text-align: right;
}
@media screen and (min-width: 769px) {
.review-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  padding: 16px;
  flex: 1 1 calc(45% - 16px);
  max-width: calc(45% - 16px);
}
.card .name {
  font-weight: bold;
  color:#14b299;
  font-size:20px;
}
}
@media screen and (max-width: 768px) {
.card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  padding: 16px;
width:92%;
margin-bottom: 2%;
}
.card .name {
  font-weight: bold;
  color:#14b299;
  font-size:16px;
}
}

.price_area caption{
	text-align: left!important;
	color:#fff!important;
	background:#66b7ff;
	padding:10px;
	}
.price_area caption div{
border-top:1px dotted #fff;
padding-top:7px;
margin-top: 7px;
text-align: left;
line-height: 1.5em;
	}
.price_area caption a{
border-top:1px dotted #fff;
color:#66b7ff;
background:#fff;
border-radius:8px;
padding:3px;
text-align: center;
display:block;
width:150px;
margin-left: auto;
margin-top: 10px;
	}
.price_area caption a p{
	margin:0!important;
	padding: 0!important;
	text-align: center;
	font-weight:bold;
	font-size:12px!important;
	}
.price_area th,
	.price_area td{
		padding:2%!important;
		text-align: right!important;
		line-height: 1.8em!important;
	}
.price_area td{
color:#777!important;
line-height: 1.8em!important;
	}
.price_area thead th,
.price_area thead td{
background:rgba(253,218,224,1.00)!important;
line-height: 1.8em!important;
	}

	.article-meta p{
		margin: 0!important;
		padding: 0!important;
	}
	.article-meta{
		margin-bottom: 10px;
		border-bottom:1px dotted #999;
		padding-bottom:5px;
	}
	.article-meta a{
		display: inline!important;
		text-decoration: underline;
	}
	.profile_li li{
		list-style-type: none;
		margin-bottom_:-10px!important;
		padding: 0!important;
		line-height: 1.5em!important;
		margin-left: 1em;
		text-indent: -1em;
	}
	.profile_li li ul{
	padding-left:10px;
	}
	.mgtt-10{
		margin-top:10px!important;
	}
	.txt-left{
		width:65%;
		float:left;
	}
	.img-right{
		width:33%;
		float:right;
	}
	.img-right img{
		width:100%;
		height:auto!important;
	}
      .spstyle img {
        width: 100% !important;
        height: auto !important;
      }
		  .midashi_h3{
		border-bottom:1px dotted #333;
		paddign-bottom:5px;
		background:none!important;
			color:#333!important;
			  font-weight:bold;
		  }

.reviews-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.review {
    width: 100%;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    padding: 20px;
    box-sizing: border-box;
    background-color: #f9f9f9;
    border-radius: 8px;
    text-align: left!important;
}
.rating {
    margin-bottom: 10px;
	text-align: center!important;
}
.star {
    color: #FFD700;
    font-size: 20px;
}
.review-text {
    font-size: 14px;
    color: #333;
    margin-bottom: 10px;
    max-height_: 250px;
    overflow_: hidden;
    transition_: max-height 0.3s ease-out;
}
.review-author {
    font-size: 12px;
    color: #777;
	text-align: right!important;
}
.read-more-btn {
    background-color: #ffaa01;
    color: white;
    border: none;
    padding: 5px 10px;
    cursor: pointer;
    font-size: 14px;
    border-radius: 5px;
}
.read-more-btn:hover {
    opacity:0.7;
}
@media (max-width: 768px) {
    .review {
        width: 100%;
    }
}
@media (max-width: 480px) {
    .review {
        width: 100%;
    }
}