@charset "utf-8";

/*
Theme Name:mrp04-child
Template:mrp04
Theme URI: http://hp-morph.com/
Description:MORPH 04テーマの子テーマ。
Author: Vision Inc.
Author URI: http://hp-morph.com/
Tags: simple

	hp-morph.com Template
	 http://hp-morph.com/

	This theme was designed and built by hp-morph.com template,
	whose blog you will find at http://hp-morph.com/

	The CSS, XHTML and design is released under GPL:
	http://www.opensource.org/licenses/gpl-license.php

*/

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css?family=Lato:300,700');

/* 基本設定
-------------------------------------------------------------- */
body {
	font-size: 98%;
	color: #24282d;
}
/* ボックス追加 */
.post .column2_60 {
	display: inline-block;
	margin: 5px 0;
	width: 59.7%;
	vertical-align: top;
}
.post .column2_40 {
	display: inline-block;
	margin: 5px 0;
	width: 40%;
	vertical-align: top;
}
.post .column2_40.pad30 {
	padding-left: 30px;
	box-sizing: border-box;
}
.post .column2_40 img {
	max-width: 95.5%;
}
@media only screen and (max-width: 1239px) {
	.post .column2_60 {
		width: 58.6%;
	}
}
@media only screen and (max-width: 799px) {
	.post .column2_40, .post .column2_60 {
		display: block;
		width: 100%;
	}
	.post .column2_40.pad30 {
		padding-left: 0;
	}
}
@media only screen and (max-width: 799px) {
	body {
		font-size: 90%;
	}
}

/* プラグイン・パーツ
-------------------------------------------------------------- */

/* ヘッダー・フッター・ぱんくず
-------------------------------------------------------------- */
#header {
	background: url(images/header_bg.png) repeat-x;
	padding-top: 25px;
}
#header h1, #header .description {
    color: #847361;
    font-size: 14px;
    letter-spacing: -0.05em;
}
#header-layout {
	padding: 0 0 5px;
}
body.headlogo-nonfix #header .logo img {
	max-height: 100px;
}
#header .contact .tel {
	color: #3fa3dc;
	font-size: 170%;
	font-weight: 700;
	margin-bottom: 4px;
}
#header .contact .tel a {
	color: #3fa3dc;
}
#header .contact .tel img {
	padding: 0;
	width: 24px;
	height: 24px;
	vertical-align: middle;
	margin-bottom: 2px;
}
#header .contact .tel::before {
	content: "";
	display: inline-block;
	width: 164px;
	height: 28px;
	background: url(images/tel_text.png) no-repeat left center;
	background-size: 164px;
	vertical-align: middle;
	margin-top: -4px;
	margin-right: 6px;
}
#footer {
	margin-top: 50px;
	padding-top: 30px;
	background: #ececec;
}
#copyright {
	padding: 30px 0;
	font-size: 85%;
	background: #ececec;
}
#breadcrumb {
	background-color: #e0e0d5;
	margin-bottom: 20px;
}
#breadcrumb ul li b {
	font-weight: normal;
}
@media print, screen and (min-width: 960px) {
	#header .inner {
		width: 100%;
		max-width: 1240px;
		padding: 0 15px;
		box-sizing: border-box;
	}
}
@media only screen and (max-width: 640px) {
	#header .contact {
		width: 90%;
	}
	#header .add {
		display: table;
		text-align: left;
	}
	#breadcrumb {
		background: none;
	}
}

/* グローバルナビ
-------------------------------------------------------------- */
@media print, screen and (min-width: 1024px) {
	nav#mainNav ul li a {
		padding: 15px 25px 5px 25px;
	}
	nav#mainNav ul li a span {
    font-size: 80%;
}
}
@media only screen and (max-width: 1023px) {
	nav#mainNav ul li a span {
		display: inline-block;
		margin-left: 0.5em;
	}
}

/* メインビジュアル
-------------------------------------------------------------- */
#mainImg {
	padding-top: 0 !important;
	margin-bottom: 30px;
}
@media only screen and (max-width: 1339px) {
	#mainImg img {
		width: 100%;
		height: auto;
	}
}

/* サイドバー
-------------------------------------------------------------- */

/* コンテンツバナー
-------------------------------------------------------------- */
.c1thumbWrap, .c2thumbWrap, .c3thumbWrap {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto 30px;
	overflow: hidden;
}
.c1thumbWrap ul, .c2thumbWrap ul, .c3thumbWrap ul {
	text-align: center;
}
.c1thumbWrap ul.thumb li, .c2thumbWrap ul.thumb li, .c3thumbWrap ul.thumb li {
	float: none;
	display: inline-block;
}
.c2thumbWrap ul.thumb li {
	margin: 0 2.2% 0 0;
}
.c3thumbWrap ul.thumb li {
	width: 31.3%;
	margin: 0 2.4% 0 0;
}
.c3thumbWrap ul.thumb li:last-child {
	margin-right: 0;
}
/*コンテンツ下部にある場合*/
.wide .c2thumbWrap ul.thumb li {
	width: 47%;
	padding: 0;
}
.wide .c3thumbWrap ul.thumb li {
	padding: 0;
}
@media only screen and (max-width: 450px) {
	.c2thumbWrap ul.thumb li {
		margin: 0 2% 0 0;
	}
	.c3thumbWrap ul.thumb li {
		margin: 0 2% 0 0;
	}
	.c2thumbWrap ul.thumb li.sm-response, .c3thumbWrap ul.thumb li.sm-response {
		margin: 0 auto 20px !important;
		width: 85% !important;
		float: none;
		display: block;
	}
}

/* 見出し
-------------------------------------------------------------- */
h1.title, .post h1 {
	line-height: 1.25;
	margin: 0 0 30px;
	padding: 0;
	font-size: 170%;
}
h1.title b, .post h1 b {
	display: block;
	font-size: 65%;
	color: #3fa3dc;
	margin-top: 0.6em;
}
.post h2 {
	padding: 0 0 8px;
	margin: 0 0 20px;
	font-size: 145%;
	text-align: center;
	font-weight: bold;
}
.home .post h2 {
	text-align: left;
}
section.widget h2 {
}
.post_text h2, h2.bottom-loop, h2.top-loop, .post2b h2, .post4b h2 {
	text-align: left;
	font-size: 110%;
	font-weight: bold;
	color: #737579;
	padding: 0;
	margin: 5px 0;
	border: none;
}
.post_text h2 a, h2.bottom-loop a, h2.top-loop a, .post2b h2 a, .post4b h2 a {
	font-size: inherit;
	color: #737579;
}
.post_text h2 {
	margin-bottom: 15px;
}
* + h2 {
	margin-top: 45px !important;
}
.post h3 {
	border: none;
	padding: 0;
	margin: 0 0 20px;
	font-size: 120%;
	font-weight: bold;
	color: #3fa3dc;
}
* + h3 {
	margin-top: 30px !important;
}
.post h4 {
	color: #2a588b;
	border: none;
	font-weight: bold;
	padding: 0;
	margin: 0 0 15px;
	font-size: 110%;
}
@media only screen and (max-width: 640px) {
	h1.title, .post h1 {
		font-size: 145%;
	}
	.post h2 {
		font-size: 125%;
	}
}

/* 投稿
-------------------------------------------------------------- */
.frontCatBox {
	border: 2px solid #3fa3dc;
	/*padding: 30px 15px;*/
	padding: 20px 15px;
	text-align: center;
	/*margin-bottom: 30px;*/
	margin-bottom: 50px;
}
.frontCatBox .titleBox {
	display: inline-block;
	width: 30%;
	vertical-align: top;
}
.frontCatBox .titleBox h1 {
	display: table;
	margin: 0 auto;
	width: 250px;
	height: 250px;
	background: #cfe8f7;
	box-sizing: border-box;
	padding-top: 95px;
	border-radius: 50%;
	text-align: center;
}
.frontCatBox .postlist {
	display: inline-block;
	width: 69%;
	text-align: left;
	vertical-align: middle;
}
.post .time, .postlist .time, .post2b .time, .post4b .time {
	padding: 0;
}
.postlist .time, .postlist .date, .postlist .ttls, .post .time, .post2b li, .post2b .time, .post2b_link, .post4b li, .post4b .time, .post4b_link {
	font-size: 100%;
}
.postlist {
	margin-bottom: 0;
}
.postlist li {
	border-bottom-style: solid;
	margin: 1em 0 1.4em;
}
.postlist .ttls a {
	color: #424448;
}
.postlist .ttls a:hover {
	color: #3fa3dc;
}
.frontCatLink {
    margin-top: 15px;
}
.frontCatLink a {
    display: block;
    color: #3fa3dc;
    font-weight: bold;
    width: 60%;
    margin: 0 auto;
	position: relative;
}
.frontCatLink a::after {
    display: inline-block;
    content: '';
    margin-left: 0.5em;
    margin-bottom: 2px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #3fa3dc;
    border-bottom: 2px solid #3fa3dc;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.frontCatLink a:hover {
	text-decoration: underline;
}

@media only screen and (max-width: 799px) {
	.frontCatBox .titleBox h1 {
		width: 190px;
		height: 190px;
		padding-top: 70px;
	}
}
@media only screen and (max-width: 640px) {
	.frontCatBox .titleBox h1 {
		width: 160px;
		height: 160px;
		padding-top: 55px;
	}
	.frontCatBox .titleBox, .frontCatBox .postlist {
		display: block;
		width: 100%;
	}
}

/* ギャラリー・画像
-------------------------------------------------------------- */
.gallery {
	margin-bottom: 15px !important;
}
.post img {
	border: none !important;
	padding: 0;
}
.post_img img, .post2b_img img, .post4b_img img {
	border: none !important;
	padding: 0;
}
.post img.aligncenter, .post img.alignright, .post img.alignleft, .post img.alignnone {
	background: none;
	border: none !important;
	padding: 0;
}
.post img.aligncenter {
	margin: 0 auto 15px;
}
.post img.alignright {
	margin: 0 0 50px 65px;
}
.post img.alignleft {
	margin: 0 50px 65px 0;
}
.post img.max30 {
	max-width: 30%;
}
.post img.max40 {
	max-width: 40%;
}
.post img.max50 {
	max-width: 50%;
}
.post img.radius {
	border-radius: 20px;
}
@media only screen and (max-width: 640px) {
	.post img.alignright, .post img.alignleft {
		margin: 0 auto 15px;
	}
	.post img.max30.sp100, .post img.max40.sp100, .post img.max50.sp100 {
		max-width: 100%;
	}
}

/* コンテンツ
-------------------------------------------------------------- */
.post p {
	padding-bottom: 0;
	margin-bottom: 15px;
}
.post table, .post table.clear {
	width: 100%;
	font-size: 100%;
}
.post table.responsive th, .post table.responsive td {
	line-height: 1.5;
}
.post ul.disc {
	list-style-type: disc;
	margin-left: 2em;
	margin-bottom: 30px;
}
.post ul.disc li {
	padding-bottom: 0;
	border-bottom: none;
	margin-bottom: 1em;
}
.post ul.check li {
	position: relative;
	padding-left: 1.6em;
}
.post ul.check li::before {
	position: absolute;
	display: inline-block;
	content: "\f046";
	font-family: 'FontAwesome';
	left: 0;
	font-size: 120%;
	color: #3fd0dc;
}
.post .contactTelBox {
	background: #fbfdd2;
	display: inline-block;
	padding: 0.5em 1em;
	border: 1px solid #d6dc3f;
	color: #3fa3dc;
	font-weight: bold;
	min-width: 40%;
	text-align: center;
}
.post .contactTelBox .contactTel {
	color: #5db3df;
	display: inline-block;
	margin-left: 1em;
}
.post .btnContact {
	display: inline-block;
	text-align: center;
	background: #bbafa1;
	background: -webkit-linear-gradient(top, #bbafa1 0%, #9d9286 100%);
	background: linear-gradient(to bottom, #bbafa1 0%, #9d9286 100%);
	color: #fff;
	padding: 0.2em 1em;
	min-width: 30%;
	border-radius: 8px;
}
.post .btnContact:hover {
	background: #9d9286;
	background: -webkit-linear-gradient(top, #9d9286 0%, #bbafa1 100%);
	background: linear-gradient(to bottom, #9d9286 0%, #bbafa1 100%);
}
.post .b_color b, .post .b_color strong {
	color: #c0c700;
}
.post .colorBox {
	background: #9ed1ed;
	padding: 20px;
	margin-bottom: 30px;
	border-radius: 20px;
}
@media only screen and (max-width: 640px) {
	.post .contactTelBox {
		display: block;
	}
	.post .btnContact {
		display: block;
	}
}

/* フロントページ */
.post .block_blue {
	display: inline-block;
	background: #3fa3dc;
	color: #fff;
	padding: 0.2em 1em;
	font-weight: bold;
	margin-bottom: 5px;
}
.post table.hoursTable th, .post table.hoursTable td {
	text-align: center;
	vertical-align: middle;
}
.post .front_movie {
    background: #e2f1fa;
    padding: 30px 30px 15px;
    width: 100%;
    max-width: 900px;
    margin: 30px auto 50px;
    box-sizing: border-box;
}
.post .mapLink a {
	font-size: 95%;
	text-decoration: underline;
	color: #424448;
}
@media only screen and (max-width: 640px) {
	.post table.hoursTable thead {
		display: none;
	}
	.post table.hoursTable td:before {
		content: attr(data-label);
		display: inline-block;
		margin-right: 0.5em;
	}
	.post .front_movie {
		padding: 30px 15px 15px;
	}
}

/* 医院案内ページ */
table.aboutTable, table.aboutTable th, table.aboutTable td {
	border: none;
}
table.aboutTable th {
	background: none;
	border-bottom: 1px solid #d2d2d2;
	font-size: 110%;
}
table.aboutTable td {
	border-bottom: 1px solid #d2d2d2;
}

/* クリニックの特長ページ */
.featuresText {
	color: #1a507b;
	font-size: 105%;
	margin-bottom: 50px;
}
.post h2.featuresTitle {
	font-size: 190%;
	border-bottom: 1px dashed;
	text-align: left;
	margin-bottom: 35px;
	font-weight: normal;
}
.post h2.featuresTitle img {
    display: inline-block;
    vertical-align: bottom;
}
.post img.featuresTitleIcon.float {
	float: left;
}
.post img.featuresTitleIcon {
	margin-bottom: -20px;
	margin-right: 10px;
}
@media only screen and (max-width: 640px) {
.post h2.featuresTitle img {
    margin-top: 30px;
}
.post h2.featuresTitle img.featuresTitleIcon {
    margin-top: -10px;
}
}
/* 診療科目ページ */
.post .disc.serviceList li {
	width: 47%;
    float: left;
    text-align: left;
    margin-bottom: 0.5em;
    box-sizing: border-box;
    margin-right: 4%;
    margin-left: -10px;
    padding-right: 20px;
}
.post .implant_features {
	display: table;
	width: 100%;
	margin-bottom: 30px;
}
.post .implant_features h3, .post .implant_features ul, .post .implant_features .img {
	display: table-cell;
	vertical-align: top;
}
.post .implant_features h3 {
	border-right: 1px dashed;
	padding-right: 20px;
}
.post .implant_features ul {
	padding: 0 20px;
	font-size: 110%;
}
.post .implant_features .img img {
	margin-bottom: 0;
}
.post .point {
	background: url(images/hougan.png) center center;
	padding: 20px;
	border: 2px solid #3fa3dc;
}
.post .point h4 {
	border: 1px solid;
	background: #fff;
	padding: 10px;
	margin-top: 30px;
}
.post ol.implant_flow {
	counter-reset: number;
	list-style: none;
	border-radius: 10px;
	padding: 10px 20px;
	margin: 0 20px;
}
.post ol.implant_flow li {
	list-style: none;
	position: relative;
	padding: 0.5em 0.5em 1em 4em;
	border-bottom: 1px solid #ccc;
	margin-bottom: 20px;
}
.post ol.implant_flow li::before {
	counter-increment: number;
	content: counter(number);
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	padding: 10px 16px;
	color: #fff;
	border-radius: 50%;
	background: #9d9286;
	font-size: 130%;
}
.post ol.implant_flow li::after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(157, 146, 134, 0);
	border-top-color: #9d9286;
	border-width: 15px;
	margin-left: -15px;
}
.post ol.implant_flow li:last-child::after {
	display: none;
}
.post ol.implant_flow li b {
	font-size: 110%;
	color: #6f5e4b;
}
@media only screen and (max-width: 640px) {
	.post .implant_features h3, .post .implant_features ul, .post .implant_features .img {
		display: block;
	}
	.post .implant_features h3 {
		border: none;
		padding: 0;
	}
	.post .implant_features ul {
		padding: 0;
	}
	.post ol.implant_flow {
		padding: 10px 10px;
		margin: 0;
	}
}
/* 審美歯科・ホワイトニングページ */
.post .difference {
    background: #cfe8f7;
    border-radius: 10px;
    text-align: center;
    padding: 20px;
}
.post .difference h3 {
    color: #24282d;
	font-size: 130%;
}
.post .difference .column2_50 {
    background: #fff;
    border-radius: 10px;
    border: 2px solid #a2d6f5;
    box-sizing: border-box;
    padding: 20px 30px;
}
.post .difference .column2_50 h4 {
    font-size: 130%;
    border-bottom: 1px dashed;
    padding-bottom: 5px;
}
.post .whitening h2, .post .whitening h4,
.post .whitening b, .post .whitening strong,
.post .whitening .number {
    color: #007ec1;
	border: none;
}
.post .seramic h2, .post .seramic h4,
.post .seramic b, .post .seramic strong,
.post .seramic .number {
    color: #00abad;
	border: none;
}
.post .whitening h3, .post .seramic h3 {
    color: #24282d;
}
.post .detail {
    padding-left: 10px;
    padding-right: 10px;
    box-sizing: border-box;
}
.post .whitening.detail {
    background: url(../../uploads/arrow_whitening.png) no-repeat center top;
    padding-top: 50px;
}
.post .seramic.detail {
    background: url(../../uploads/arrow_seramic.png) no-repeat center top;
    padding-top: 50px;
}
.post .detail .erabareru {
    display: inline-block;
    color: #fff;
    font-size: 70%;
    letter-spacing: 0.08em;
    padding: 0.1em 2em;
    border-radius: 10px;
    font-weight: normal;
    margin-bottom: 5px;
}
.post .detail.whitening .erabareru {
    background: #007ec1;
}
.post .detail.seramic .erabareru {
    background: #00abad;
}
.post .detail .number {
    font-style: italic;
    font-size: 180%;
    display: inline-block;
    margin-right: 0.2em;
}
@media only screen and (max-width: 640px) {
	.column2_50.whitening.detail, .column2_50.seramic.detail {
		background: none;
		padding-top: 0;
	}
}

/* アゴたんストレッチ */
.post .stretch {
	border: 1px solid #3f7ddc;
	overflow: hidden;
	padding: 20px 30px 0;
}
.post .stretchTitle {
	margin: 0;
	background: #3f7ddc;
	color: #fff;
	padding: 12px 10px;
	border-radius: 6px 6px 0 0;
	border-bottom: none;
	text-align: center;
}
.post .stretch .column3_33 {
    box-sizing: border-box;
    padding: 0 25px;
}
@media only screen and (max-width: 640px) {
	.post .stretch {
		padding: 20px 20px 0;
	}
}

/* サイトマップ */
.post ul#sitemap_list li {
	margin-bottom: 15px;
}
.post ul#sitemap_list ul {
	margin-top: 10px;
}
.post ul#sitemap_list ul li {
	margin-bottom: 5px;
}
.post ul#sitemap_list ul li:before {
	content: "-";
	display: inline-block;
	margin-right: 0.5em;
}
.post ul#sitemap_list li b {
	font-weight: normal;
}
@media only screen and (max-width: 640px) {
	.post h2.featuresTitle {
		font-size: 145%;
		margin-bottom: 15px;
	}
}

/* フォーム 共通*/
.wpcf7-form .must {
	color: #fff;
	font-weight: bold;
	background: #ea6c9a;
	border-radius: 4px;
	margin-left: 0.5em;
	font-size: 90%;
	padding: 0.2em 0.6em;
}
.wpcf7-form .submit {
	text-align: center;
}
.wpcf7-form input[type=submit] {
	font-size: 110%;
	padding: 6px 40px;
}
.wpcf7-form input[type=submit]:hover {
	cursor: pointer;
}
.wpcf7-form span.wpcf7-not-valid-tip {
	color: #ea6c9a;
}
.wpcf7-form div.wpcf7-validation-errors {
	background: #fffde0;
}
input[type="text"], input[type="tel"], input[type="email"], input[type="date"], input[type="url"], input[type="number"], select, textarea {
	margin-bottom: 5px;
	width: 100%;
	box-sizing: border-box;
}
.wpcf7-form .wpcf7-textarea {
	max-width: 100%;
}
input[type="text"].wpcf7-captchar {
	width: 30%;
}
@media only screen and (max-width: 640px) {
	.wpcf7-form .wpcf7-textarea {
		width: 80%;
	}
}
@media only screen and (max-width: 640px) {
	input[type="checkbox"] {
		width: 18px;
		height: 18px;
		vertical-align: middle;
	}
	.wpcf7-form .wpcf7-list-item {
		display: inline-block;
	}
	span.wpcf7-list-item-label {
		vertical-align: middle;
	}
}
