@charset "utf-8";


/*=======================================================
	グーン ママになったら
=======================================================*/

/* ------- cmn ------- */
.flatbase {
	margin-top: 0;
	margin-bottom: 0;
	padding: 10px 10px 0;
	box-sizing: border-box;
}
body,ul,li,h1,h2,h3,h4,ol,dl,dd,dt{
	line-height: 1.6;
	font-size: 1.3rem;
}
main {
	font-size: 14px; /* ie8 */
	font-size: 1.4rem;
	line-height: 1.6;
	color: #000;
	background: url(../img/bg2.png) 50% 0;
}

/* ページ下バナー調整 */
.banner_cont{
	padding: 0 0 15px;
	text-align: center;
}
.banner_list{
	display: block;
	text-align: center;
}
.banner_list li{
	margin: 0 0 10px;
	display: block;
}
.banner_list li a,
.banner_cont_banner{
	display: inline-block;
	box-sizing: border-box;
	border: 2px solid #fff;
}
.banner_list li img{
	width: 500px;
	-webkit-backface-visibility: hidden;
}
.banner_list a:hover{
	opacity: 0.8;
}
.banner_cont + .banner_cont{
	margin-top: 20px;
}
.banner_info{
	margin: 0 auto;
	position: relative;
	z-index: 10;
	text-shadow: 0 1px 1px #fff,0 0 1px #fff,1px 0 1px #fff,0 -1px 1px #fff,-1px -1px 1px #fff,-1px 0 1px #fff;
	color: #2eafd6;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
}
.banner_info p{
	margin: 0 0 10px;
	display: inline-block;
	position: relative;
	color: #2eafd6;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
	-webkit-backface-visibility: hidden;
}

/* ------- index ------- */
#mama_index_header {
	margin: 0;
	position: relative;
	font-size: 15px; /* ie8 */
	font-size: 1.5rem;
	background: url(../img/bg.png) 50% 0;
}
#mama_index_header:before {
	content: "";
	width: 541px;
	height: 358px;
	background: url(../img/index_motif.png) no-repeat;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
}
#mama_index_header h1 {
	background: url(../img/header_race.png) repeat-x 50% 0;
	padding: 110px 0 0 51px;
	position: relative;
	z-index: 10;
}
#mama_index_header p {
	margin-top: -180px;
	padding: 220px 0 0 51px;
	position: relative;
	z-index: 10;
	width: 470px;
	display: inline-block;
	vertical-align: middle;
}

#mama_index_header #index_illust {
	padding: 0 0 0 51px;
	width: 344px;
}

#mama_index_nav {
	background: url(../img/bg.png) 50% 0;
}

#mama_index_nav > div {
	padding: 20px 6px 50px 23px;
	background: url(../img/index_footer_race.png) repeat-x 50% 100% ;
}

#mama_index_nav ul {
	margin: 0;
	padding: 0 0 20px 0;
	display: table;
	width: 100%;
	table-layout: fixed;
	background: url(../img/nav_footer.png) no-repeat 0 100%;
}
#mama_index_nav ul li {
	padding: 0 17px 0 0;
	vertical-align: top;
	display: table-cell;
	background: url(../img/nav_bg.png) no-repeat 0 0;
}
#mama_index_nav ul div {
	padding: 13px 0;
	text-align: center;
	font-size: 18px; /* ie8 */
	font-size: 1.8rem;
	line-height: 1.2;
}
#mama_index_nav ul div a {
	color: #f66;
	font-weight: bold;
}
#mama_index_nav ul div a span {
	font-size: 12px; /* ie8 */
	font-size: 1.2rem;
}

#mama_index_nav ul ul,
#mama_index_nav ul ul li {
	background: transparent;
	display: block;
	width: auto;
}
#mama_index_nav ul ul {
	padding: 0 20px;
}
#mama_index_nav ul ul li {
	padding: 10px 0 10px 23px;
	border-bottom: 3px dotted #ffd5a8;
	background: url(../img/nav_flower.png) no-repeat 0 50%;
}

#mama_index_nav ul ul a {
	font-size: 12px; /* ie8 */
	font-size: 1.2rem;
	color: #000;
}

#mama_index_footer {
	padding: 23px;
}



/* ------- bottom ------- */
/* bottom cmn */
#mama_btm_header {
	background: url(../img/bg.png) 50% 0;
	position: relative;
}

.mama_btm_content_ttl + p {
	padding: 12px 70px 28px;
	background: url(../img/btm_race.png) repeat-x 50% 100%;
}

#mama_btm_header p:first-child {
	padding: 9px 0 5px;
	background: url(../img/header_race.png) repeat-x 50% 0;
	line-height: 94px;
	text-align: center;
}
.mama_btm_content_ttl {
	text-align: center;
}
.mama_btm_content_ttl:last-child {
	padding-bottom: 28px;
	background: url(../img/btm_race.png) repeat-x 50% 100%;
}

/* 段落 */
.mama_btm_ttl{
	padding: 40px 0 16px;
	text-align: center;
	font-size: 22px; /* ie8 */
	font-size: 2.2rem;
	line-height: 1;
	font-weight: normal;
	background: url(../img/btm_h2_bg1.png) repeat-x 50% 100%;
	color: #630;
}
.other_cont h2 {
	background: url(../img/btm_h2_bg2.png) repeat-x 50% 100%;
	color: #036;
}

.mama_btm_cont > p {
	text-indent: 1em;
	padding: 30px 70px 0;
}
.mama_btm_cont > p img {
	margin-left: -1em;
}

.mama_btm_cont article {
	margin: 30px auto 0;
	padding: 0 5px 20px 20px;
	background: #fff;
	box-shadow: 0.707px 0.707px 3px 0px rgba(0, 0, 0, 0.2);
	letter-spacing: -.4em;
	width: 825px;
}
.mama_btm_cont article.wide_margin {
	margin-top: 50px;
	padding-top: 20px;
}

.mama_btm_cont article * {
	letter-spacing: normal;
}

.mama_btm_cont article > p {
	margin-top: 20px;
	padding-right: 15px;
	text-indent: 1em;
}
.mama_btm_cont article > p img {
	margin-left: -1em;
}
.mama_btm_cont article p.note {
	text-indent: 0;
	margin-top: 5px;
	color: #666;
}

.mama_btm_cont h3 {
	margin-top: 30px;
	text-align: center;
}
.mama_btm_cont article h3:first-child {
	margin-top: -41px;
}

.mama_btm_cont h4 {
	margin: 20px 0 10px;
	border-bottom: 3px solid #ffd0d0;
	color: #630;
	font-size: 16px; /* ie8 */
	font-size: 1.6rem;
}
.other_cont h4 {
	border-bottom: 3px solid #c5e0eb;
	color: #036;
}

.mama_btm_cont h5 {
	margin: 10px 0 0;
	color: #630;
	font-size: 14px; /* ie8 */
	font-size: 1.4rem;
}
.other_cont h5 {
	color: #036;
}

.mama_btm_cont .column {
	padding-right: 15px;
	display: inline-block;
	width: 260px;
	vertical-align: top;
}

.mama_btm_cont .column p {
	font-size: 12px; /* ie8 */
	font-size: 1.2rem;
	line-height: 1.8;
}

/* 2カラム */
.column_wrap {
	margin-right: 15px;
	width: 810px;
	display: table;
	table-layout: fixed;
}
.column_wrap .two_column {
	padding-left: 10px;
	display: table-cell;
}
.column_wrap .two_column:first-child {
	padding: 0 10px 0 0;
}

.mama_btm_cont .two_column p {
	font-size: 12px; /* ie8 */
	font-size: 1.2rem;
	line-height: 1.8;
}

/* リスト */
.mama_btm_cont article ul {
	padding-left: 1.5em;
	box-sizing: border-box;
}

.mama_btm_cont article li {
	list-style: outside;
	font-size: 12px; /* ie8 */
	font-size: 1.2rem;
	line-height: 1.8;
}

/* 表 */
.mama_btm_cont table {
	margin: 10px auto 0;
	border-collapse: collapse;
	border: 3px solid #eee;
}
.mama_btm_cont table th,
.mama_btm_cont table td {
	text-align: left;
	font-weight: normal;
	padding: 5px 15px;
	border-bottom: 3px solid #eee;
}


/* アドバイス */
#advice div {
	margin-top: 10px;
	padding-right: 15px;
	overflow: hidden;
}

#advice h4 {
	margin: 0;
	padding: 0 5px;
	float: left;
	width: 100px;
	font-size: 11px; /* ie8 */
	font-size: 1.1rem;
	text-align: center;
	border-bottom: 0;
	font-weight: normal;
	color: #000;
}

#advice h4 img {
	padding-bottom: 5px;
}

#advice p {
	float: right;
	padding: 15px 20px;
	border-radius: 6px;
	background: #fff6f6;
	width: 660px;
	font-size: 12px; /* ie8 */
	font-size: 1.2rem;
	line-height: 1.8;
	min-height: 100px;
	position: relative;
}
#advice p:after {
	content: "";
	position: absolute;
	left: -15px;
	top: 80px;
	width: 15px;
	height: 15px;
	background: url(../img/left_beak.png) no-repeat 0 0;
}

#advice div:nth-child(even) h4 {
	float: right;
}

#advice div:nth-child(even) p {
	float: left;
	background: #f0fbff;
}
#advice div:nth-child(even) p:after {
	left: auto;
	right: -15px;
	background: url(../img/right_beak.png) no-repeat 0 0;
}

/* GOO.N MOMリンク */
#goonmom_btn {
	margin: 10px auto 0;
	padding: 0;
	width: 750px;
}

#goonmom_btn p {
	margin-top: 20px;
	padding: 0 10px;
	font-size: 12px;
	font-size: 1.2rem;
	text-indent: 0;
	text-align: center;
}

#goonmom_btn ul {
	margin: 10px 0;
	padding: 0;
	/*display: table;*/
	width: 750px;
}
#goonmom_btn li {
	/*display: table-cell;*/
	padding: 0 10px;
	box-sizing: border-box;
	vertical-align: middle;
	text-align: center;
	list-style: none;
}
#goonmom_btn a:hover{
	text-decoration: none;
	opacity: 0.75; /*通常*/
	-ms-filter: "alpha(opacity=75)"; /*IE8*/
}


/* footer */
#pagenation {
	margin: 10px auto 0;
	display: table;
}
#pagenation li {
	display: table-cell;
}
#pagenation #first_page {
	background: url(../img/pagenation_bg_l.png) no-repeat 0 50% ;
	padding-left: 12px;
}
#pagenation #last_page {
	background: url(../img/pagenation_bg_r.png) no-repeat 100% 50% ;
	padding-right: 12px;
}
#pagenation li a {
	padding: 5px 10px;
	border: 4px solid #630;
	border-right: 0;
	color: #000;
	display: block;
	background: #fff;
}
#pagenation li:first-child a {
	border-left: 0;
}
#pagenation .current a {
	background: #630;
	color: #fff;
}


#mama_btm_footer nav {
	padding: 10px 6px 23px 23px;
}

#mama_btm_footer nav ul {
	margin: 0;
	padding: 0 0 20px 0;
	display: table;
	width: 100%;
	table-layout: fixed;
	background: url(../img/nav_footer.png) no-repeat 0 100%;
}
#mama_btm_footer nav ul li {
	padding: 0 17px 0 0;
	vertical-align: top;
	display: table-cell;
	background: url(../img/nav_bg.png) no-repeat 0 0;
}
#mama_btm_footer nav ul div {
	padding: 13px 0;
	text-align: center;
	font-size: 18px; /* ie8 */
	font-size: 1.8rem;
	line-height: 1.2;
}
#mama_btm_footer nav ul div a {
	color: #f66;
	font-weight: bold;
}
#mama_btm_footer nav ul a span {
	font-size: 12px; /* ie8 */
	font-size: 1.2rem;
}

#mama_btm_footer nav ul ul,
#mama_btm_footer nav ul ul li {
	background: transparent;
	display: block;
	width: auto;
}
#mama_btm_footer nav ul ul {
	padding: 0 20px;
}
#mama_btm_footer nav ul ul li {
	padding: 10px 0 10px 23px;
	border-bottom: 3px dotted #ffd5a8;
	background: url(../img/nav_flower.png) no-repeat 0 50%;
}

#mama_btm_footer nav ul ul a {
	font-size: 12px; /* ie8 */
	font-size: 1.2rem;
	color: #000;
}

#mama_btm_footer nav p {
	padding-top: 16px;
	text-align: center;
}

#mama_btm_footer nav p a {
	color: #000;
}

#doctor {
	line-height: 1.4;
	letter-spacing: -0.4em;
	border: 4px solid #630;
	background: url(../img/index_doctor_bg.png) repeat-y 0 0 #fff;
	position: relative;
}
#doctor:before {
	content: "";
	width: 48px;
	height: 48px;
	position: absolute;
	left: 212px;
	bottom: 0;
	background: url(../img/index_doctor_corner.png) no-repeat 0 0;
}
#doctor:after {
	content: "";
	width: 48px;
	height: 48px;
	position: absolute;
	left: 0;
	top: 0;
	background: url(../img/index_doctor_corner.png) no-repeat -48px -48px;
}
#doctor_photo {
	display: inline-block;
	width: 240px;
	vertical-align: middle;
}
#doctor_profile {
	padding: 0 15px;
	letter-spacing: normal;
	display: inline-block;
	width: 606px;
	vertical-align: middle;
}
#doctor_profile h2 {
	margin-bottom: 5px;
	font-size: 24px; /* ie8 */
	font-size: 2.4rem;
	font-weight: normal;
	color: #630;
}
#doctor_profile h3 {
	margin-bottom: 8px;
	font-size: 20px; /* ie8 */
	font-size: 2.0rem;
	font-weight: normal;
}
#doctor_profile h3 span { font-size: 0.8em; }

#doctor_profile em {
	font-style: normal;
	font-size: 12px; /* ie8 */
	font-size: 1.2rem;
	line-height: 1.4;
}

#doctor_profile p {
	line-height: 1.6;
}

.doctor_info{
	margin: 20px 50px 10px;
	display: flex;
	justify-content: left;
	align-items: center;
	flex-wrap: wrap;
}
.doctor_info_img{
	margin-right: 10px;
	width: 70px;
}
.doctor_info_img img{
	width: 70px;
}
.doctor_info dt{
	font-weight: bold;
	color: #630;
	display: inline-block;
	vertical-align: top;
}
.doctor_info dd{
	display: inline-block;
	vertical-align: top;
}
.doctor_cont{
	padding: 30px;
}
.doctor_info p{
	font-size: 1.3rem;
}
.text_ttl{
	color: #630;
	text-align: center;
	text-shadow: 0 1px 1px #fff,0 0 1px #fff,1px 0 1px #fff,0 -1px 1px #fff,-1px -1px 1px #fff,-1px 0 1px #fff,2px 2px 1px #fff;
	font-size: 2.4rem;
}

.doctor_cont .doctor_name{
	margin-bottom: 15px;
	font-size: 2.4rem;
	font-weight: normal;
	color: #630;
}
.supervised{
	margin-top: 20px;
	padding: 20px 40px;
	background-color: #fff;
}
.supervised_ttl{
	margin-bottom: 10px;
	font-size: 1.5rem;
	color: #630;
	border-bottom: 1px dotted #630;
}
.mama_footer{
	padding: 20px 0 0;
	text-align: center;
}
.mama_footer a{
	color: #000;
}

/* ページ下バナー調整 */
.banner_info{
	filter: drop-shadow(0 0 2px #ffdfec);
}


/* ===========================================
	MediaQueries
=========================================== */

/* スマホ----------------------------- */
@media screen and (max-width: 767px) {

/* ------- cmn ------- */
	.flatbase {
		margin-bottom: 0;
		padding: 0;
	}

	main{
		margin-bottom: 0;
		padding: 0;
		font-size: 1.3rem;
	}

	.flatbase main img {
		max-width: 100% !important;
		height: auto !important;
	}

	/* ページ下バナー調整 */
	.banner_cont{
		margin: 0;
		padding: 20px 20px;
	}
	.ec_info_popup .ecshop_list{
		display: block;
		border: none;
	}
	.ecshop_list li a img{
		max-width: 200px;
		width: 100%;
		height: auto;
	}
	.ecshop_list li:nth-child(2) a img{
		margin: 0;
		width: 100%;
		height: auto;
	}
	

/* ------- index ------- */
	#mama_index_header {
		font-size: 1.3rem;
	}
	#mama_index_header:before {
		width: 100%;
		height: 50%;
		background-size: cover;
	}
	#mama_index_header h1 {
		background: url(../img/header_race.png) repeat-x 50% 0;
		padding: 110px 10px 0 10px;
		text-align: center;
	}

	#mama_index_header p {
		margin-top: 10px;
		padding: 0 20px;
		position: relative;
		z-index: 10;
		width: auto;
		display: block;
	}

	#mama_index_header #index_illust {
		padding: 0 20px;
		width: auto;
		text-align: center;
	}

	#mama_index_header #index_illust img {
		max-width: 100%;
	}

	#mama_index_nav > div {
		padding: 20px 10px 50px;
	}
	#mama_index_nav ul {
		padding: 0;
		display: block;
		background: transparent;
	}
	#mama_index_nav ul li {
		margin-bottom: 20px;
		padding: 0 0 10px 0;
		display: block;
		border: 4px solid #ff8683;
		border-radius: 20px;
		background: #fff;
	}
	#mama_index_nav ul div {
		background: url(../img/nav_sp_bg.png) no-repeat 0 0;
		background-size: contain;
	}

	#mama_index_nav ul ul li {
		margin: 0;
		padding: 10px 0 10px 23px;
		border: 0;
		border-radius: 0;
		border-bottom: 3px dotted #ffd5a8;
	}

	#mama_index_footer {
		padding: 10px;
	}

	#doctor {
		background: #fff;
	}

	#doctor_photo {
		padding: 10px;
		letter-spacing: normal;
		display: block;
		width: 100%;
		text-align: center;
		box-sizing: border-box;
		position: relative;
		/*border-bottom: 4px solid #630;*/
	}
	#doctor_photo img {
		max-width: 100%;
		height: auto;
		border: 5px solid #fff;
	}

	#doctor:before {
		display: none;
	}

	/*#doctor_photo:before {
		content: "";
		width: 48px;
		height: 48px;
		position: absolute;
		right: 0;
		bottom: 0;
		background: url(../img/index_doctor_corner.png) no-repeat 0 0;
	}*/

	#doctor_profile {
		padding: 10px;
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	#doctor_profile h2 {
		margin-bottom: 0;
		font-size: 1.7rem;
	}
	#doctor_profile h3 {
		margin-bottom: 5px;
		font-size: 1.7rem;
	}
	#doctor_profile h3 span { font-size: 0.8em; }
	.doctor_info{
		margin: 20px 20px 20px;
	}
	.doctor_info > div{
		flex: 1;
	}
	.doctor_cont{
		padding: 15px;
	}
	.supervised{
		padding: 20px;
	}

/* ------- bottom ------- */
/* bottom cmn */
	#mama_btm_header p {
		padding: 9px 10px 5px;
		box-sizing: border-box;
	}
	.mama_btm_content_ttl {
		padding: 0 10px;
	}

	.mama_btm_content_ttl + p {
		padding: 12px 20px 28px;
	}

/* 段落 */
	.mama_btm_ttl {
		padding-top: 20px;
		font-size: 1.7rem;
	}

	.mama_btm_cont > p {
		padding: 20px 20px 0;
	}

	.mama_btm_cont article {
		margin: 20px 0 0;
		padding: 10px 20px 20px;
		width: 100%;
		box-sizing: border-box;
	}

	.mama_btm_cont article.wide_margin {
		margin-top: 35px;
		padding-top: 20px;
	}

	.mama_btm_cont article > p {
		margin-top: 10px;
		padding: 0;
	}

	.mama_btm_cont h3 img {
		max-height: 30px;
		max-width: 90%;
		width: auto;
	}
	.mama_btm_cont h3 {
		margin-top: 20px;
	}
	.mama_btm_cont article h3:first-child {
		margin-top: -35px;
	}

	.mama_btm_cont h4 {
		margin: 10px 0 5px;
		font-size: 1.4rem;
	}

	.mama_btm_cont .column {
		padding-right: 0;
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

/* 2カラム */
	.column_wrap {
		margin-right: 0;
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	.column_wrap .two_column {
		padding-left: 0;
		display: block;
	}
	.column_wrap .two_column:first-child {
		padding: 0;
	}

/* 表 */
	.mama_btm_cont table {
		margin: 10px auto 0;
		border-bottom: 0;
	}
	.mama_btm_cont table th {
		display: block;
		border-bottom: 1px solid #eee;
	}
	.mama_btm_cont table td {
		display: block;
	}

/* アドバイス */
	#advice div {
		margin-top: 15px;
		padding-right: 0;
		overflow: hidden;
	}

	#advice h4 {
		margin: 0;
		padding: 0 0 4px;
		float: none !important;
		width: auto;
		text-align: left;
		overflow: hidden;
	}
	#advice h4 img {
		display: inline-block;
		width: 80px;
	}
	#advice h4 span {
		display: inline-block;
	}

	#advice p {
		float: none !important;
		padding: 10px;
		width: 100%;
		box-sizing: border-box;
		min-height: auto;
		position: relative;
	}
	#advice p:after {
		display: none;
	}

	#advice div:nth-child(even) p {
		background: #f0fbff;
	}

	#mama_index_nav div {
		padding: 20px 10px 50px;
		background: url(../img/index_footer_race.png) repeat-x 50% 100% ;
	}

/* GOO.N MOMリンク */
	#goonmom_btn {
		width: 100%;
	}
	#goonmom_btn p {
		text-align: left;
	}

	#goonmom_btn ul {
		display: block;
		width: 100%;
	}
	#goonmom_btn li {
		display: block;
		padding: 10px;
		text-align: center;
	}

/* footer */
	#mama_btm_footer nav {
		padding: 20px 10px 50px;
	}
	#mama_btm_footer nav ul {
		padding: 0;
		display: block;
		background: transparent;
	}
	#mama_btm_footer nav ul li {
		margin-bottom: 20px;
		padding: 0 0 10px 0;
		display: block;
		border: 4px solid #ff8683;
		border-radius: 20px;
		background: #fff;
	}
	#mama_btm_footer nav ul div {
		background: url(../img/nav_sp_bg.png) no-repeat 0 0;
		background-size: contain;
	}

	#mama_btm_footer nav ul ul li {
		margin: 0;
		padding: 10px 0 10px 23px;
		border: 0;
		border-radius: 0;
		border-bottom: 3px dotted #ffd5a8;
	}
	#mama_btm_footer nav ul a {
		padding: 3px 0;
		display: block;
	}



}