@charset "utf-8";
/* CSS Document */
/*
Theme Name: アルファジール　歯科サンプルのテーマ
Author: アルファージール
Description: 歯科サンプルのテーマ
Version: 10000
*/

.main h2,
.main h3,
.main h4,
.main h5,
.main h6 {
	clear: both;
}
.main h2 {
	-webkit-background-size: 30px auto;
	-moz-background-size: 30px auto;
	background-size: 30px auto;
	padding-top: 2px;
	/*
	padding-left: 35px;
	margin-left: -35px;
	*/
    color: #81bf24;
	font-size: 20px;
	margin-bottom: 20px;
}
.main h3 {
	padding: 5px 10px;
	font-size: 16px;
	margin-bottom: 10px;
	margin-left: -10px;
	position: relative;
	color: #81bf24;
	position: relative;
}
.main h3::after {
	content: "";
	background: -moz-linear-gradient(left, rgba(129,191,36,1) 0%, rgba(255,255,255,0) 100%);
	background: -webkit-linear-gradient(left, rgba(129,191,36,1) 0%,rgba(255,255,255,0) 100%);
	background: linear-gradient(to right, rgba(129,191,36,1) 0%,rgba(255,255,255,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#81bf24', endColorstr='#00ffffff',GradientType=1 );
	position: absolute;
	bottom: 0;
	left: 5px;
	width: 200px;
	height: 1px;
}
.main .h3_02 {
	color: #618b23;
	background-image: url(../img/common/ico_h3_02.png);
}
.main .h3_02::after {
	background: -moz-linear-gradient(left, rgba(97,138,35,1) 0%, rgba(255,255,255,0) 100%);
	background: -webkit-linear-gradient(left, rgba(97,138,35,1) 0%,rgba(255,255,255,0) 100%);
	background: linear-gradient(to right, rgba(97,138,35,1) 0%,rgba(255,255,255,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#618a23', endColorstr='#00ffffff',GradientType=1 );	
}
.main h4 {
    color: #618b23;
    font-size: 15px;
    /*
    text-shadow: 1px 1px 5px #fff,
    2px 2px 0px #ccc;
    */
}
@media only screen and (max-width: 767px){
	.main h2,
	.main h3 {
		margin-left: 0;
	}
	.main h3 { padding: 5px;}
	.main h3::after {	margin-left: -1%;}
}

.right_img {
	float: right;
	width: 42%;
	padding-left: 20px;
}
.left_box {
	width: 58%;
	float: left;
}
.left_img {
	float: left;
	width: 42%;
	padding-right: 20px;
}
.right_box {
	width: 58%;
	float: right;
}

@media only screen and (max-width: 767px){
	.right_img,
	.left_img {
		float: none;
		width: 100%;
		padding-left: 0;
		padding-right: 0;
		margin-bottom: 20px;
	}
	.left_box,
	.right_box {
		float: none;
		width: 100%;
		margin-bottom: 20px;
	}
}
.dlStyle01 {
	padding-left: 15px;
}
.dlStyle01 dl {
	border-bottom: 1px dotted #81bf24;
	padding-bottom: 5px;
	margin-bottom: 5px;
}
.dlStyle01 dt {
	position: relative;
}
.dlStyle01 dt::before {
	content: "";
	border: 1px solid #81bf24;
	border-left: 0;
	border-right-width: 2px;
	width: 10px;
	height: 10px;
	position: absolute;
	top: 5px;
	left: -15px;
	border-radius: 50px;
}
.dlStyle01 dl p:last-child {
	margin-bottom: 0;
}


/*============================================================================================

 タイトル 001 赤色四角枠2個重ね

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.title_001_01 {
	margin-bottom: 30px;
	font-size: 18px;
	font-weight: bold;
	padding: 2px 10px 2px 25px;
	color: #d42530;
	position: relative;
}
.title_001_01::before,
.title_001_01::after {
	content: "";
	position: absolute;
	display: block;
	width: 10px;
	height: 10px;
	left: 0;
	top: 50%;
}

.title_001_01::before {
	border: 1px solid #d42530;
	margin-top: -7.5px;
}
.title_001_01::after {
	border: 1px solid #900009;
	margin-top: -2.5px;
	margin-left: 5.5px;
}

/*============================================================================================

 タイトル 002　左地球アイコン　水色背景

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
.title_002_01 {
	padding: 0px 10px 0px 50px;
	background: #7df0ff;
	margin-bottom: 30px;
	font-size: 18px;
	position: relative;
	overflow: hidden;
}
.title_002_01::before {
	content: "\f0ac";
	position: absolute;
	font-family: FontAwesome;
	background: #fff;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	text-align: center;
	line-height: 40px;
	left: -10px;
	top: 50%;
	margin-top: -20px;
	border: 1px solid #007d9a;
	color: #007d9a;
	letter-spacing: 0;
}

@media only screen and (max-width: 767px){
	.title_002_01::before {
		left: 5px;
		width: 30px;
		height: 30px;
		line-height: 30px;
		margin-top: -15px;
	}
}


/*============================================================================================

 タイトル 003　左青色縦棒　薄青背景

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

.title_003_01 {
	margin-bottom: 30px;
	font-size: 18px;
	position: relative;
	padding: 2px 10px 2px 25px;
	color: #1a71c1;
	border: 1px solid #e0e0e0;
	border-radius: 2px;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #e0eefb), color-stop(0.00, #f6fafd));
	background: -webkit-linear-gradient(#f6fafd, #e0eefb);
	background: -moz-linear-gradient(#f6fafd, #e0eefb);
	background: -o-linear-gradient(#f6fafd, #e0eefb);
	background: -ms-linear-gradient(#f6fafd, #e0eefb);
	background: linear-gradient(#f6fafd, #e0eefb);
}
.title_003_01::before {
	content: "";
	position: absolute;
	background: #1a71c1;
	border-radius: 10px;
	width: 4px;
	left:  10px;
	height: 20px;
	top: 50%;
	margin-top: -10px;
}

/*============================================================================================

 タイトル 004　背景灰色に白ドット

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

.title_004_01 {
	background: url(../img/common/bg_pattern3.png) ,#aaa;
	position: relative;
	padding: 5px 10px;
	border-radius: 2px;
	text-shadow: 1px 1px 0 #ccc;
	margin-bottom: 30px;
}


/*============================================================================================

 タイトル 005　背景青色グラデーション　上部角丸

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

.title_005_01 {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #6c97fd), color-stop(0.00, #044ffc));
	background: -webkit-linear-gradient(#044ffc, #6c97fd);
	background: -moz-linear-gradient(#044ffc, #6c97fd);
	background: -o-linear-gradient(#044ffc, #6c97fd);
	background: -ms-linear-gradient(#044ffc, #6c97fd);
	background: linear-gradient(#044ffc, #6c97fd);
	color: #fff;
	padding: 10px 20px;
	border-radius: 10px 10px 0 0;
	position: relative;
	margin-bottom: 30px;
}
/*============================================================================================

 タイトル 006　背景茶色グラデーション　上部角丸　右側模様付き　

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

.title_006_01 {
	padding: 10px 10px;
	color: #fff;
	border-radius: 5px 5px 0 0;
	background: rgb(140,51,16);
	background: -moz-linear-gradient(top, rgba(140,51,16,1) 0%, rgba(240,183,161,1) 100%);
	background: -webkit-linear-gradient(top, rgba(140,51,16,1) 0%,rgba(240,183,161,1) 100%);
	background: linear-gradient(to bottom, rgba(140,51,16,1) 0%,rgba(240,183,161,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8c3310', endColorstr='#f0b7a1',GradientType=0 );
	position: relative;
	margin-bottom: 30px;
}
.title_006_01::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 5px;
	bottom: 2px;
	background: url(../img/common/ico_hstyle06.png) 100% 100% no-repeat;
	pointer-events: none;
}

/*============================================================================================

 タイトル 007　左側薬アイコン

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/


.title_007_01 {
	background: url(../img/common/ico_kusuri.png) 0 0 no-repeat;
	-webkit-background-size: 30px auto;
	-moz-background-size: 30px auto;
	background-size: 30px auto;
	padding: 3px 5px 3px 40px;
	margin-bottom: 30px;
}


/*============================================================================================

 タイトル 008　上に厚い線・下に薄い線

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

.title_008_01 {
	color: #414343;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 30px;
	border-top: 3px solid #0d9ab3;
	border-bottom: 1px solid #0d9ab3;
	padding: 10px 0 8px 10px;
}

/*=====================







　治療の流れ
 
======================*/

.flow_box dl {
	margin-bottom: 50px;
	position: relative;
	padding: 20px 20px 10px 20px;
	border-radius: 10px;
}

.flow_box dl:nth-child(3n+1) {
	background: #dafbd0;
}
.flow_box dl:nth-child(3n+2) {
	background: #d0d5fb;
}
.flow_box dl:nth-child(3n+0) {
	background: #fafbd0;
}
.flow_box dl::after {
	content: "";
	display: block;
	clear: both;
}
.flow_box dl::before {
	content: "";
	position: absolute;
	bottom: -40px;
	left: 50%;
	margin-left: -40px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 40px 0 40px;
	border-color: #81bf24 transparent transparent transparent;
}
.flow_box dl:last-child {
	margin-bottom: 0px;
}
.flow_box dl:last-child::before {
	content: none;
}
/*
.flow_box dt {
	border-bottom: 1px solid #81bf24;
	margin-bottom: 15px;
	padding: 0 5px 5px 0;
}
*/

.flow_box dt {
	padding: 5px 10px 5px 35px;
	font-size: 16px;
	margin-bottom: 10px;
	margin-left: -10px;
	position: relative;
	color: #81bf24;
	/*
	text-shadow: 1px 1px 0px #fff,1px 1px 2px #81bf24;
	*/
	background: url(../img/common/ico_h3.png) 0 0 no-repeat;
	-webkit-background-size: 30px auto;
	-moz-background-size: 30px auto;
	background-size: 30px auto;
	position: relative;
	font-weight: bold;
}
.flow_box dt::after {
	content: "";
	background: -moz-linear-gradient(left, rgba(129,191,36,1) 0%, rgba(255,255,255,0) 100%);
	background: -webkit-linear-gradient(left, rgba(129,191,36,1) 0%,rgba(255,255,255,0) 100%);
	background: linear-gradient(to right, rgba(129,191,36,1) 0%,rgba(255,255,255,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#81bf24', endColorstr='#00ffffff',GradientType=1 );
	position: absolute;
	bottom: 0;
	left: 5px;
	width: 200px;
	height: 1px;
}
.flow_box .first_dl dt {
	background-image: url(../img/common/ico_dl_first.png);
	color: #c12525;
}
.flow_box .first_dl dt::after {
	background: -moz-linear-gradient(left, rgba(193, 37, 37,1) 0%, rgba(255,255,255,0) 100%);
	background: -webkit-linear-gradient(left, rgba(193, 37, 37,1) 0%,rgba(255,255,255,0) 100%);
	background: linear-gradient(to right, rgba(193, 37, 37,1) 0%,rgba(255,255,255,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c12525', endColorstr='#00ffffff',GradientType=1 );
}


.flow_box .flow_text {
	float: right;
	width: 70%;
	padding: 0 0 10px 20px;
}
.flow_box .flow_img {
	float: left;
	width: 30%;
}
.flow_box .flow_img img {
	display: block;
}
@media only screen and (max-width:767px){
	.flow_box .flow_text,
	.flow_box .flow_img {
		width: 100%;
		float: none;
		padding: 0;
		margin-bottom: 10px;
	}
	.flow_box .flow_img img {
		width: 100%;
	}
}

.flow_box02 dl {
	border: 1px solid #81bf24;
	padding: 15px 15px 15px 30px;
	margin-bottom: 40px;
	position: relative;
	clear: both;
}
.flow_box02 dl::before {
	content: "";
	position: absolute;
	bottom: -30px;
	left: 50%;
	margin-left: -40px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 40px 0 40px;
	border-color: #81bf24 transparent transparent transparent;
}
.flow_box02 dl:last-child::before {
	content: none;
}
.flow_box02 dl::after {
	content: "";
	display: block;
	clear: both;
}
.flow_box02 dt {
	margin-left: -15px;
	color: #bf3624;
	font-weight: bold;
}

.flow_box02 dd,
.flow_02_img {
	float: left;
	display: block;
	width: 50%;
}
.flow_02_img {
	padding-left: 20px;
	margin-top: -1em;
}
@media only screen and (max-width: 580px){
	.flow_box02 dd,
	.flow_02_img {
		float: none;
		width: 100%;
	}
	.flow_02_img {
		margin-top: 0;
		padding-left: 0;
	}
}

.faq dl {
	margin-bottom: 10px;
	border-bottom: 1px dashed #81bf24;;
	
}
.faq dt,
.faq dd {
	padding-left: 30px;
	position: relative;
	margin-bottom: 10px;
}
.faq dt::before,
.faq dd::before {
	position: absolute;
	border: 1px solid #81bf24;
	left: 0;
	padding: 0px 2px;
	width: 20px;
	text-align: center;
	display: inline-block;
}
.faq dt::before {
	content: "Q";
	background: #81bf24;
	color: #fff;
}
.faq dd::before {
	content: "A";
}
/*=====================

　チェックボックス
 
======================*/

.checkbox li {
	position: relative;
	padding-left: 25px;
	margin-bottom: 5px;
}
.checkbox li::before {
	font-family: FontAwesome;
	position: absolute;
	left: 0;
	font-size: 14px;
	margin-right: 5px;
	border: 1px solid #81bf24;
	width: 18px;
	height: 18px;
	line-height: 17px;
	text-align: center;
	color: #81bf24;
}
.checkbox li::before {
	content: "\f00c";
}


.list_flow::after {
	content: "";
	display: block;
	clear: both;
}
.list_flow li {
	float: left;
	width: 50%;
}

/*=====================

　ビフォアーアフター
 
======================*/

.ex_wrap ul {
	margin-bottom: 40px;
	position: relative;
}
.ex_wrap ul::after {
	display: block;
	clear: both;
	content: "";
}
.ex01 li {
	float: left;
	width: 25%;
}
.ex02 li {
	float: left;
	width: 20%;
}
.ex03 li {
	float: left;
	width: 33.33%;
}
.ex07 li {
	float: left;
	width: 12.5%;
}
.ex07 li:nth-child(1),
.ex07 li:nth-child(2),
.ex07 li:nth-child(3) {
	width: 25%;
}
.ex_ba02 li {
	float: left;
	width: 50%;
}
.ex_ba01 li {
	width: 50%;
}
.ex_wrap img {
	display: block;
}
.ex_wrap ul::before {
	content: "";
	position: absolute;
	bottom: -30px;
	left: 50%;
	margin-left: -40px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 40px 0 40px;
	border-color: #81bf24 transparent transparent transparent;
}
.ex_wrap .ex_ba01::before {
	left: 25%;
}
.ex_wrap ul:last-child {
	margin-bottom: 0;
}
.ex_wrap ul:last-child::before {
	content: none;
}

@media only screen and (max-width: 767px){
	.ex_wrap {
		position: relative;
	}
	.ex_wrap ul {
		width: 45%;
		float: left;
		margin-bottom: 0;
	}
	.ex_wrap ul:last-child {
		float: right;
	}
	.ex_wrap li {
		width: 100% !important;
		float: none;
		margin-bottom: 10%;
		position: relative;
	}
	.ex_wrap li:last-child {
		margin-bottom: 0;
	}
	.ex_wrap ul::before,
	.ex_wrap ul::after,
	.ex_wrap ul:last-child li::before {
		content: none;
	}
	.ex_wrap ul li::before {
		content: "\f0da";
		font-family: FontAwesome;
		position: absolute;
		top: 50%;
		left: 100%;
		margin: -25% 0 0 4%;
		color: #81bf24;
		font-size: 18vw;
		line-height: 1;
		border: 0;
	}
}


.box01 {
	border: 1px solid #81bf24;
	/* padding: 10px; */
	margin-bottom: 20px;
	position: relative;
}
.box01_title {
	color: #fff;
	font-weight: bold;
	padding: 10px;
	background: #81bf24;
}
.box01_inner {
	position: relative;
}
.box01_price {
	position: absolute;
	right: 10px;
	top: 50%;
	margin-top: -.7em;
}
.box01_price02 {
	text-align: right;
	margin: -35px 5px 15px;
	color: #fff;
	font-weight: bold;
}
.box01_list {
	clear: both;
	padding: 10px;
}
.box01_list::before {
	content: "【内訳】";
    margin-left: -7px;
}
.box01_list li {
	position: relative;
	margin-bottom: 5px;
}
.box01_list li:last-child {
	margin-bottom: 0;
}
.box01_list li > span {
	display: inline-block;
	border-bottom: 1px solid #81bf24;
}
.list01.box01_list li::before {
	margin-left: 2px;
	margin-top: 2px;
}
@media only screen and (max-width: 767px){
	.box01_price02 {
		margin: 5px 10px 0 0;
		color: #81bf24;
	}
	.box01_price {
		position: static;
		margin: 5px 10px 0 0;
		text-align: right;
		color: #81bf24;
		font-weight: bold;
	}
	.box01_list {
		padding-top: 5px;
		margin-top: -1em;
	}
}
.box01 .note {
	margin: 5px 10px 10px;
}
.box02 {
	border: 3px double #ff60d1;
	display: inline-block;
	padding: 10px 10px 0;
	margin-bottom: 20px;
}
.box02_title {
	font-weight: bold;
	color: #ff60d1;
	margin-bottom: 10px;
}
.note {
	position: relative;
	padding-left: 20px;
}
.note::before {
	content: "\00203b";
	position: absolute;
	left: 0;
}



/*=====================

治療例　ビフォアーアフター
 
======================*/

.mouth {
	vertical-align: top;
}
.treatmentImgList {
	/* margin-bottom: 40px; */
	position: relative;
	text-align: center;
}
.treatmentImgList img {
	display: block;
	width: 100%;
	height: auto;
}

.treatmentTable td {
	padding-bottom: 40px;
}
.treatmentTable td:nth-child(1) {
	width: 450px;
}
.mouth .treatmentBefore::before {
	content: "";
	position: absolute;
	bottom: -30px;
	left: 50%;
	margin-left: -40px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 40px 0 40px;
	border-color: #81bf24 transparent transparent transparent;
}
.treatmentImgList li {
	display: inline-block;
	vertical-align: top;
	margin-bottom: 5px;
}
.mouth .treatmentImgList li {
	width: 32%;
}
.appearance .treatmentImgList li {
	width: 48%;
}
.crowding01 li {
	height: 98px;
	overflow: hidden;
}
.maxillary01 .mouth li:nth-child(n+4),
.maxillary02 .mouth li:nth-child(n+4){
	width: 23.7%;
}

@media only screen and (max-width: 767px){
	.treatmentTable {
		position: relative;
		margin-bottom: 20px;
	}
	.treatmentTable td {
		display: block;
		padding-bottom: 0%;
	}
	.treatmentTable tr {
		display: block;
		width: 45%;
		float: left;
	}
	.treatmentTable tr:last-child {
		float: right;
	}
	.treatmentTable td:nth-child(1) {
		width: 100%;
	}
	.mouth .treatmentImgList li {
		width: 100% !important;
		float: none;
		margin-bottom: 10%;
		position: relative;
		display: block;
	}
	.treatmentBefore li::before {
		content: "\f0da";
		font-family: FontAwesome;
		position: absolute;
		top: 50%;
		left: 100%;
		margin: -25% 0 0 4%;
		color: #81bf24;
		font-size: 18vw;
		line-height: 1;
		border: 0;
	}
	.mouth .treatmentBefore::before {
		content: none;
	}
	.appearance .treatmentImgList {
		letter-spacing: -0.4em;
		font-size: 0.1px;
	}
	.appearance .treatmentImgList li {
		width: 47%;
		margin-right: 4%;
		margin-bottom: 3%;
	}
	.appearance .treatmentImgList li:nth-child(2n) {
		margin-right: 0;
	}
	.crowding01 li {
		height: auto;
		overflow: inherit;
	}
}
@media only screen and (max-width: 400px){
	.appearance .treatmentImgList li {
		width: 100%;
		margin-bottom: 10%;
		position: relative;
	}
}


/****************************************

コンタクトフォーム

****************************************/
.contact-form {
	width: 100%;
	margin-bottom: 20px;
}
.contact-form table {
	table-layout: fixed;
	width: 100%;
	margin-bottom: 20px;
}
.contact-form th,
.contact-form td {
	padding: 10px;
	border-top: 1px solid rgba(0, 2, 70, 0.5);
}
.contact-form tr:last-child th,
.contact-form tr:last-child td {
	border-bottom: 1px solid rgba(0, 2, 70, 0.5);
}
.contact-form tr:nth-child(2n+1) th,
.contact-form tr:nth-child(2n+1) td {
	background: rgba(0, 2, 70, 0.2);
}
.contact-form tr:nth-child(2n+0) th,
.contact-form tr:nth-child(2n+0) td {
	background: rgba(255,255,255,.2);
}
.contact-form input[type="text"],
.contact-form input[type="tel"],
.contact-form input[type="email"],
.contact-form textarea {
	width: 100% !important;
	padding: 5px 10px;
	font-size: 16px;
	line-height: 1.5;
	border: 1px solid rgb(0, 2, 70);
}
/*
.contact-form select {
	padding: 3px 5px 5px 5px;
}*/
.contact-form textarea {
	height: 140px;
}
.contact-form .rq,
.contact-form .no_rq {
	font-size: 12px;
	vertical-align: top;
	display: inline-block;
	color: #fff;
	padding: 2px;
	margin-top: -5px;
	margin-left: 5px;
	line-height: 1;
}
.contact-form .rq {
	background: #f00;
}
.contact-form .no_rq {
	background: #00b7ca;
}
.contact-form .wpcf7-not-valid-tip {
	margin-top: 5px;
	display: inline-block;
}
.contact_btn {
	text-align: center;
	margin-bottom: 30px;
}
.contact_btn button {
	display: inline-block;
	position: relative;
	width: 200px;
	padding: 7px 10px;
	margin: 0 10px 10px;
	-webkit-appearance: none;
	background: rgb(0, 2, 70);
	border: 0;
	color: #fff;
	font-size: 18px;
	cursor: pointer;
}
.contact_btn button:hover {
	opacity: .7;
}
.contact_btn button[value="back"]::before {
	content: "\f112";
	position: absolute;
	font-family: FontAwesome;
	top: 50%;
	margin-top: -.5em;
	margin-left: -1.5em;
}
.contact_btn button[value="send"]::after,
.contact_btn button[value="confirm"]::after {
	content: "\f064";
	position: absolute;
	font-family: FontAwesome;
	top: 50%;
	margin-top: -.5em;
	margin-left: .5em;
}
@media only screen and (min-width: 768px) {
	.contact-form th {
		width: 40%;
	}
}
@media only screen and (max-width: 767px) {
	.contact-form th,
	.contact-form td {
		width: 100%;
		display: block;
	}
	.contact-form tr:last-child th{
		border-bottom: 0;
	}
	.contact-form th {
		padding-bottom: 0;
	}
	.contact-form td {
		border-top: 0;
	}
	.contact-form .rq,
	.contact-form .no_rq {
		margin: 0;
	}
}


.main hr {
	margin: 20px 0;
	border: 0;
	height: 12px;
	background: url(../img/common/bd_hr.png) 0% 50% 
 
}


.flex02 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex_inner01,
.flex_inner02,
.flex_inner03,
.flex_inner04 {
	flex-basis: 49%;
	padding: 20px;
	margin-bottom: 2%;
}
.flex_inner01 {
	background: #cfe0fd;
}
.flex_inner02 {
	background: #cffbfd;
}
.flex_inner03 {
	background: #ffd1d1;
}

@media only screen and (max-width: 767px) {
	.flex02 {
	}
	.flex_inner01,
	.flex_inner02,
	.flex_inner03,
	.flex_inner04 {
		flex-basis: 98%;
	}
}

/*
.textIB {
	position: relative;
	padding-left: 20px;
}
.textI {
	position: absolute;
	left: 0;
}
*/

.link_url {
	margin-bottom: 20px;
}
.link_url a {
	background: #81bf24;
	color: #fff;
	display: block;
	text-align: center;
	-webkit-box-shadow:  2px 2px 1px 0 #999;
	-moz-box-shadow:  2px 2px 1px 0 #999;
	box-shadow:  2px 2px 1px 0 #999;
}
.link_url .link_url_inner {
	display: inline-block;
	padding: 5px 5px 5px 50px;
	position: relative;
	-webkit-text-shadow: 2px 2px 1px #999;
	-moz-text-shadow: 2px 2px 1px #999;
	text-shadow: 2px 2px 1px #999;
}
.link_url .link_url_inner::before {
	content: "\f073";
	font-family: FontAwesome;
	position: absolute;
	left: 0px;
	top: -2px;
	font-size: 38px;
}


/*============================================================================================

 テキスト画像の横並び

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

.flR { float: right;}
.flL { float: left;}

.mb20 { margin-bottom: 20px !important;}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
@media only screen and (min-width: 768px){
	.textArea { width: 60%;}
	.textArea02 { width: 50%;}
	.imgArea { width: 35%;}
	.imgArea02 { width: 45%;}
}
@media only screen and (max-width: 767px){
	.textArea + .imgArea,
	.imgArea + .textArea,
	.textArea02 + .imgArea02,
	.imgArea02 + .textArea02 {
		margin-top: 20px;
	}
	.textArea,
	.imgArea,
	.textArea02,
	.imgArea02 {
	 	float: none;
	}
	.imgArea,
	.imgArea02  {
	 	text-align: center;
	 }
}

/* ■■■■■■■■■■■■■■■■■■■■■■■■
　料金表
■■■■■■■■■■■■■■■■■■■■■■■■ */

.priceTable01 {
	width: 100%;
	table-layout: fixed;
	margin-bottom: 20px;
}
.priceTable01 th,
.priceTable01 td {
	border: 1px solid #444;
	padding: 10px;
}
.priceTable01 th {
	width: 30%;
	background: #ccc;
}
.priceTable01 td {
	width: 70%;
}
@media only screen and (max-width: 767px){
	.priceTable01 th,
	.priceTable01 td {
		width: 100%;
		display: block;
		border-bottom-width: 0;
	}
	.priceTable01 tr:last-child td {
		border-bottom-width: 1px;
	}
}
/*=======================

 診療ページ　料金

■■■■■■■■■■■■■*/
dl.price {
	clear: left;
	margin-bottom: 20px;
}
dl.price dt {
	float: left;
	width: 220px;
}
dl.price dt img {
	width: 100%;
	height: auto;
}
dl.price dd {
	margin-left: 240px;
}
dl.price dd table {
	width: 100%;
	border-collapse: collapse;
	font-size: 1.2rem;
	color: #444;
	margin-bottom: 10px;
}
dl.price dd table th,
dl.price dd table td {
	padding: 1%;
	border: solid 1px #bbb;
}
dl.price dd table th {
	color: #1b76aa;
	font-weight: normal;
}

/*=======================

居抜きサイト

■■■■■■■■■■■■■*/
.property-list-box {
	margin-bottom: 20px;
}
.property-catch-box,
.property-data-box {
	margin-bottom: 20px;
}
.property-table {
	width: 100%;
}
.property-table th,
.property-table td {
	text-align: left;
	border: 1px solid #ccc;
	padding: 5px;
}
.property-table th {
	width: 6.5em;
}
.property-table dl::after {
	content: "";
	display: block;
	clear: both;
}
.property-table dt {
	min-width: 10em;
	background: #eee;
	float: left;
	padding: 2px .5em;
	margin-right: .5em;
	margin-bottom: 0.2em;
}
@media only screen and (min-width: 768px){
	.property-list-box {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		word-break: break-all;
	}
	.property-catch-box,
	.property-data-box {
		-ms-flex-preferred-size: 48%;
		flex-basis: 48%;
		width: 48%;
	}	
}

@media only screen and (max-width: 767px){
	.property-table th,
	.property-table td {
		display: block;
		width: 100%;
	}
	.property-table th {
		background: #444;
		color: #fff;
		border: 0;
	}
	.property-table td {
		border-bottom-width: 0px;
	}
	.property-table tr:last-child td {
		border-bottom-width: 1px;
	}
}

.property-gallery {
	position: static;
	margin: 0 -5px 10px;
	text-align: left;
    line-height: 1;
    width: auto;
}
.property-gallery figure {
	width: 33.33%;
	padding: 0 5px 6px;
	margin: 0;
	height: auto;
	display: inline-block;
	vertical-align: top;
}
.property-gallery figure:first-child {
	width: 100%;
}
.property-gallery a {
	display: block;
	padding-top: 71.42%;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	border: 1px solid #000;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	position: relative;
}

.property-gallery a::before,
.property-gallery a::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.property-gallery a::before {
	background: #fff;
}
.property-gallery a::after {
	background: url(../img/property/ico_glass.png) 50% 50% no-repeat;
	background-size: 30% auto;
}
.property-gallery a:hover::before {
	opacity: .7;
}
.property-gallery a:hover::after {
	opacity: 1;
}
.property-gallery a img {
	display: none;
}
@media only screen and (min-width: 768px){
	.property-gallery figure {
		width: 16.66%;
	}
	.property-gallery figure:first-child {
		width: 50%;
		float: left;
	}
}
.pswp--touch .pswp__button--arrow--left, .pswp--touch .pswp__button--arrow--right {
	visibility: unset !important;
}


.property-list-wrap .comment-box {
	margin-top: 20px;
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
	width: 100%;
}
.property-list-wrap .comment-box dt {
	padding: 5px 20px;
	background: #000246;
	display: inline-block;
	color: #fff;
	-webkit-border-radius: 10px 10px 0 0;
	-moz-border-radius: 10px 10px 0 0;
	border-radius: 10px 10px 0 0;
}
.property-list-wrap .comment-box dd {
	border: 5px solid #000246;
	padding: 10px;
	margin-top: -5px;
	position: relative;
}


/*=================================

検索画面

=================================*/
.search-box {
	border: 5px solid #ccc;
	padding: 10px;
	margin: 20px 3.75% 40px;
}
.search-words dl {
	margin-bottom: 10px;
}
.search-words dt {
	font-size: 18px;
	position: relative;
	padding-left: 32px;
	margin-bottom: 5px;
}
.search-words dt::before {
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	width: 25px;
	height: 25px;
	border: 5px solid #ccc;
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
	border-radius: 25px;
}
.search-words dd {
	float: left;
    margin-right: 10px;
}
.search-words dd:last-child {
	margin-right: 0;
}
input#word {
	border: 0;
	box-shadow: 0 0 1px #000;
	padding: 5px 10px;
}
.search-btn button {
	background: #000246;
	border: 0;
	font-size: 18px;
	font-weight: bold;
	width: 100%;
	height: 40px;
	color: #fff;
	background-size: 30px auto;
	cursor: pointer;
	position: relative;
	letter-spacing: 1px;
}
.search-btn button::before {
	content: "";
	position: absolute;
	margin-left: -40px;
	top: 0;
	bottom: 0;
	width: 30px;
	background: url(../img/property/ico_search.png) 50% 50% no-repeat;
	background-size: 30px auto;
}
.search-btn button:hover {
	opacity: .8;
}
@media only screen and (min-width: 768px){
	.search-box {
		margin: 0 0 10px;
	}
}



/*=================================

TOPの新着物件情報

=================================*/
.thumbnail-list .thumbnail-box {
	width: 33%;
	padding-bottom: 4%;
}
.thumbnail-list dl {
	border: 1px solid #000;
	padding: 10px;
}
.thumbnail-list dt,
.thumbnail-item {
	position: relative;
	border-bottom: 1px dotted #999;
}
.thumbnail-item {
	padding-left: 4em;
}
.thumbnail-item span {
	display: inline-block;
	position: absolute;
	left: 0;
}
@media only screen and (min-width: 768px){
	.thumbnail-list .thumbnail-box {
	float: left;
	}
	.thumbnail-list .thumbnail-box:nth-of-type(3n+1) {
		clear: both;
		padding-right: 2%;
	}
	.thumbnail-list .thumbnail-box:nth-of-type(3n+2) {
		padding-left: 1%;
		padding-right: 1%;
	}
	.thumbnail-list .thumbnail-box:nth-of-type(3n+0) {
		padding-left: 2%;
	}
}

.property-thumb-box {
	position: relative;
}
.closing_wrap {
  position: absolute;
  top: -6px;
  left: -4px;
  width: 106px;
  height: 105px;
  overflow: hidden;
  pointer-events: none;
  z-index: 10;
}
.closing_ribbon {
	display: inline-block;
	position: absolute;
	padding: 7px 0;
	left: -35px;
	top: 22px;
	width: 160px;
	text-align: center;
	font-size: 18px;
	line-height: 16px;
	background: linear-gradient(to right, #4298fa 0%,#8fcdff 100%);
	color: #fff;
	text-shadow: 0 2px 2px #56a1f3;
	letter-spacing: 0.05em;
	-webkit-transform: rotate(45deg);
	transform: rotate(-45deg);
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
	z-index: 10;
}

.closing_ribbon:before, .closing_ribbon:after {
	position: absolute;
	content: "";
	border-top: 4px solid #3672b6;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	bottom: -4px;
}
.closing_ribbon:before {
	right: 14px;
}
.closing_ribbon:after {
	left: 0px;
}








.top_bnr_list_wrap {
	/* background: #000; */
	padding: 0 40px 40px;
}

@media (max-width: 767px){
	.top_bnr_list_wrap {
		padding-left: 3.75%;
		padding-right: 3.75%;
	}
}
.top_bnr_list_box {
	/* padding: 20px 40px 40px; */
	background: #fff;
	max-width: 960px;
	margin: 0 auto;
}
.top_bnr_list_box > h2 {
	text-align: center;
	font-weight: normal;
	position: relative;
	margin-bottom: 24px;
}
.top_bnr_list_box > h2::before {
	content: "";
	position: absolute;
	left: 50%;
	width: 8em;
	translate: -50% 0;
	bottom: 0;
	border-bottom: 1px solid #000246;
}
.top_bnr_list {
	position: relative;
	display: block;
    max-width: fit-content;
    margin: auto;
	display: grid;
}
.top_bnr_list li {
	display: contents;
}
.top_bnr_list a {
	color: #000;
	display: grid;
	/* grid-template-columns: auto 1fr; */
	/* align-items: center; */
	gap: 0 15px;
	padding: 10px 0;
    grid-template-columns: subgrid;
    grid-column: span 2;
}
.top_bnr_list .post_title {
	display: block;
	/* padding-left: 7.5em; */
	padding-top: 5px;
	/* text-box-trim: trim-both; */
	grid-row: 1 / 3;
    text-box-trim: trim-start;
}
.post_label {
	background: #000;
	color: #fff;
	display: inline-block;
	text-align: center;
	padding: 5px 15px;
	line-height: 1;
	letter-spacing: 0;
	align-self: baseline;
    text-box-trim: trim-start;
    align-self: baseline;
}

.post_label_01 {
	background: #c17b19;
}
.post_label_02 {
	background: #fa4f4f;
}
.post_label_03 {
	background: #0a48db;
}
.post_label_04 {
	background: #5abf15;
}

.post_date {
	rotate: 0.03deg;
	grid-row: 2 / 3;
	font-size: 79%;
	letter-spacing: 0;
	text-align: right;
    align-self: baseline;
}

/* フォーム全体のコンテナ */
#wpmem_login {
    max-width: 450px;
    margin: 50px auto;
    padding: 40px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05); /* 柔らかい影 */
    border: 1px solid #eee;
}

/* タイトルの装飾 */
#wpmem_login h2 {
    text-align: center;
    font-size: 24px;
    color: #003366;
    margin-bottom: 30px;
    font-weight: bold;
}

/* 入力欄のスタイル */
#wpmem_login input[type="text"], 
#wpmem_login input[type="password"] {
    width: 100%;
    padding: 12px 15px;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    border-radius: 6px;
    transition: all 0.3s ease;
}

#wpmem_login input:focus {
    border-color: #003366;
    box-shadow: 0 0 0 3px rgba(0,51,102,0.1);
    outline: none;
}

/* ログインボタン */
#wpmem_login input[type="submit"],
#wpmem_reg .button_div input[type="submit"] {
/*    width: 100%;*/
    padding: 14px;
    background-color: #003366 !important;
    color: white;
    border-radius: 6px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.3s;
    border: 0 !important;
}

#wpmem_login input[type="submit"]:hover,
#wpmem_reg .button_div input[type="submit"]:hover {
    background-color: #004a94 !important;
}

/* リンク類（パスワード忘れ、新規登録） */
#wpmem_login .login-footer-links {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    font-size: 13px;
}
#wpmem_login label[for="siteguard_captcha"]{
  width: 100%;
  text-align: left;
}
#wpmem_login p:has(img[alt="CAPTCHA"]){
  margin-bottom: 0;
  line-height: 1;
}


/* フォームのグループ化 */
#wpmem_reg {
    background: #fcfcfc;
    border-radius: 8px;
    padding: 25px;
    margin-bottom: 30px;
    border: 1px solid #edf2f7;
}

/* タイトルと説明 */
.registration-group-title {
    font-size: 18px;
    color: #003366;
    border-left: 4px solid #003366;
    padding-left: 15px;
    margin-bottom: 20px;
    font-weight: bold;
}

/* 必須ラベル */
#wpmem_reg  .label-required {
    background-color: #e53e3e;
    color: white;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 3px;
    margin-left: 8px;
    vertical-align: middle;
}

#wpmem_reg p:has(img[alt="CAPTCHA"]){
  margin-bottom: 0;
  line-height: 1;
}

/* 利用規約のボックス化 */
#wpmem_reg .div_text:has(input[value="agree"]) {
    background: #f7fafc;
    padding: 15px;
    border: 1px solid #e2e8f0;
    font-size: 14px;
    margin: 0 auto 20px;
    display: block;
}

.ajaxzip3 {
  margin-bottom: 10px;
}
