@charset "utf-8";
/* ===================================================================
 style info : コンテンツエリア関係 他

fonts
 10px = 77%     11px = 85%     12px = 93%     13px = 100%
 14px = 108%    15px = 116%    16px = 123.1%  17px = 131%
 18px = 138.5%  19px = 146.5%  20px = 153.9%  21px = 161.6%
 22px = 167%    23px = 174%    24px = 182%    25px = 189%
 26px = 197%
=================================================================== */

/*----------------------------------------------------
	共通
----------------------------------------------------*/

html {
	overflow-y: scroll;
}

@import url(//fonts.googleapis.com/css?family=Open+Sans:400,400italic,600,600italic,700,700italic);

body, input, textarea {
	font-family: Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "メイリオ" , Meiryo , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}

hr {
	display: none;	
}

/* リンク
----------------------------------------------------*/
/* リンク文字の色 */
a:link {
    color: #25992F;
	text-decoration: none;
}

/* 訪問済みリンクの色 */
a:visited{
    color: #F47195;
}

/* マウスオーバーの時の色 */
a:hover {
    color: #76DE7D;
}

/* クリックしている時の色 */
a:active {
    color: #76DE7D;
}

/* CSSフェードマウスオーバー（画像用） */
a:hover img.on {
	opacity: .5;
	-webkit-opacity: .5;
	-moz-opacity: .5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha(opacity=50)";
	-webkit-transition: opacity 0s ease-out;
	-moz-transition: opacity 0s ease-out;
	-ms-transition: opacity 0s ease-out;
	transition: opacity 0s ease-out;
}

/* ページトップ（jQuery）
----------------------------------------------------*/

.pagetop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 100%;
	width: 100px;
	z-index: 1;
}

.pagetop a {
	background: #F47195;
	text-decoration: none;
	color: #FFFFFF;
	width: 100px;
	padding: 20px 0;
	text-align: center;
	display: block;
	border-radius: 5px;
}

.pagetop a:hover {
	text-decoration: none;
	background: #F2517D;
}

/* 汎用
----------------------------------------------------*/

.img_R {
	float: right;
	margin: 0 3px 10px 10px;
}

.img_L {
	float: left;
	margin: 0 10px 10px 1px;
}

.img_box {
	padding: 2px;
	border: 1px solid #CCCCCC;
	-webkit-box-shadow: 1px 1px 3px #CCCCCC;
	-moz-box-shadow: 1px 1px 3px #CCCCCC;
	box-shadow: 1px 1px 3px #CCCCCC;
}

/* 余白 */

.mb5 {margin-bottom: 5px;}
.mb10 {margin-bottom: 10px;}
.mb15 {margin-bottom: 15px;}
.mb20 {margin-bottom: 20px;}
.mb25 {margin-bottom: 25px;}
.mb30 {margin-bottom: 30px;}

/* 色 */
.red {
	color: #E3124B;
}

.pink {
	color: #F47195;
}

.green {
	color: #72C210;
}

/* テキスト */
.text_center {
	text-align: center;
}

.text_bold {
	font-weight: bold;
}

.text_large {
	font-size: 116%;
}

.text_uline {
	border-bottom: 2px solid #76DE7D;
}

/* 見出し */
.p_midashi {
	font-size: 123.1%;
	font-weight: bold;
	margin-bottom: 10px;
}

/* nextアイコン */
.next {
	background: url(../img/icon/icon_next.png) no-repeat center top;
	height: 17px;
}

/* 3カラムボックス */
.box_3col li {
	float: left;
	margin-right: 24px;
}

.box_3col li.last-child,
.box_3col li:last-child {
	margin-right: 0;
}

/*----------------------------------------------------
	サイドコンテンツ
----------------------------------------------------*/

/* サイドナビゲーション
----------------------------------------------------*/
#sub-side #snav {
  	list-style-type: none;
  	margin-bottom: 20px;
  	padding: 0;
}

#sub-side #snav li { 
	display: inline;
}

#sub-side #snav li a {
  	display: block;
  	text-decoration: none;
  	background-color: transparent;
}

#sub-side #snav li a:hover {
	backgroaund-color: transparent;
}

/* サイド見出し */
#sub-side .s_midashi {
	background-color: transparent;
	font-size: 123.1%;
	text-align: center;
	padding: 15px 0 0;
	margin-bottom: 12px;
	color: #535353;
}


/*----------------------------------------------------
	ページ共通
----------------------------------------------------*/

#main article table,
#main article ol,
#main article ul,
#main article dl,
#main article p {
	margin-bottom: 10px;
	line-height: 1.8;
}

/* セクション */

#main article section {
	margin: 0 0 10px 0;
	overflow: hidden;
}

/* 見出し（装飾） */

#main article h1 {
	background: #F8C9D8 url(../img/share/h1-back.png) no-repeat;
	font-size: 197%;
	font-weight: normal;
	padding: 7px;
	margin-bottom: 15px;
	color: #ffffff;
}

#main article h2 {
	border-left: 5px solid #E3124B;
	background-color: #FFF2F8;
	font-size: 138.5%;
	font-weight: normal;
	padding: 7px;
	margin-bottom: 15px;
	color: #E3124B;
}

#main article .pg-hdline{
	background: #F8C9D8 url(../img/share/h1-back.png) no-repeat;
	font-size: 197%;
	font-weight: normal;
	padding: 7px;
	margin-bottom: 15px;
	color: #ffffff;
	border-left: 0px;
}

#main article h3 {
	background-color: #F8C9D8;
	color: #F2517D;
	font-size: 123.1%;
	font-weight: normal;
	padding: 7px;
	margin-bottom: 15px;
}

#main article h4,h5,h6 {
	border-bottom: 2px solid #E3124B;
	color: #F47195;
	font-size: 116%;
	font-weight: normal;
	padding: 7px;
	margin-bottom: 15px;
}

.insta-fixed {
	position: fixed;
	top: 100px;
	right: 0;
	transition: 0.2s;
}

.insta-fixed:hover {
	filter: brightness(120%);
}

/* リスト
----------------------------------------------------*/

ul,ol,dl {
	line-height: 1.8;
	list-style-position: outside;
}

ul li,ol li {
	list-style: none;
}

#main article section ul.ul01 li {
	list-style: disc inside; 
	text-indent:-0.9em;
  	padding-left:0.9em;
}

#main article section ol li {
	list-style: decimal-leading-zero inside;
}

#main article section .list dl dt {
	color: #74B766;
	border-bottom: 2px solid #25992F;
	font-size: 123.1%;
	font-weight: bold;
	margin-bottom: 15px;
}

#main article section .list dl dd {
	font-size: 100%;
	margin-bottom: 20px;
}


#main article section .list2 dl dt {
	color: #74B766;
	font-size: 123.1%;
	font-weight: bold;
	margin-bottom: 5px;
}

#main article section .list2 dl dd {
	font-size: 100%;
	margin-bottom: 20px;
}

/* テーブル
----------------------------------------------------*/

table {
	width: 100%;
}

table,th,td {
	border: 1px solid #F398B9;
}

caption,th,td {
	padding: 10px;
}

caption {
	background-color: #F398B9;
	color: #fff;
	font-weight: bold;
}

th {
	background-color: #FFDBED;
	text-align: center;
	vertical-align: middle;
	color: #333333;
}

td {
	
}

/* 料金表
----------------------------------------------------*/

.ryoukin table {
	width: 100%;
}

.ryoukin table,th,td {
	border: 1px solid #F398B9;
}

.ryoukin caption,th,td {
	padding: 10px;
}

.ryoukin caption {
	background-color: #F398B9;
	color: #fff;
	font-weight: bold;
}

.ryoukin th {
	background-color: #FFDBED;
	text-align: center;
	vertical-align: middle;
	color: #333333;
}

.ryoukin td {
	text-align: right;
}



/* よくある質問
----------------------------------------------------*/

.fqa dt {
	position: relative;
	background-color: #EEEEEE;
	padding: 5px 10px 5px 35px;
}

.fqa dt:before {
	position: absolute;
	content: "Q.";
	top: 0px;
	left: 10px;
	font-family: "Times New Roman", serif;
	font-size: 131%;
	font-weight: bold;
	color: #183562;
}

.fqa dd {
	position: relative;
	padding: 5px 10px 5px 35px;
	margin-bottom: 15px;
	border: 1px solid #EEEEEE;
}

.fqa dd:before {
	position: absolute;
	content: "A.";
	top: 0px;
	left: 10px;
	font-family: "Times New Roman", serif;
	font-size: 131%;
	font-weight: bold;
	color: #B81A1A;
}

/* テキストボックス
----------------------------------------------------*/

.t_box {
	background-color: #FDF9EE;
	border-radius: 5px;
	border: 1px solid #A3E9A8;
	padding: 10px 15px;
	margin-bottom: 10px;
	color: #444444;
}

/* テキストボックス用見出し */

.t_midashi {
	font-size: 108%;
	font-weight: bold;
	color: #5BA34D;
	border-bottom: 1px dashed #25992F;
}

/*----------------------------------------------------
	トップページ
----------------------------------------------------*/
/* カレンダー */

#callender {
	float: left;
}

/* 新着情報 */
#top #news {
	float: right;
	width: 470px;
	height: 466px;
	border: 2px solid #FFDBED;
}

#top #news .n_midashi {
	height: 40px;
	background: url(../img/top/news-midashi.png) no-repeat;
	text-align: center;
	font-size: 116%;
	color: #F47195;
	padding-top: 7px;
}

#top #news #news_in {
	max-height: 395px;
	width: 425px;
	overflow: auto;
	padding: 0 15px;
}

#top #news #news_in dl {
    overflow: hidden;
    zoom: 1;
}

#top #news #news_in dl dt {
    margin-bottom: 5px;
    padding-bottom: 5px;
    width: 75px;
    float: left;
    clear: both;
    font-weight: normal;
}

#top #news #news_in dl dd {
    margin-bottom: 5px;
    padding: 0 0 0 75px;
    border-bottom: 1px dotted #CCCCCC;
}

/* セミナーのお知らせバナー */
#top #semi-bun02 {
	width: 460px;
	height: 120px;
	border: 2px solid #FFDBED;
	background-color:#FFDBED;
	float:right;
	padding:5px;
	margin: 0 0 20px 0;
}

/* セミナーのお知らせバナー */
#top #semi-bun {
	margin: 0 0 20px 0;
	display: block;
	text-align: center;
	clear: both;
	white-space: nowrap; 
}
#top #semi-bun a {
	display: inline-block;
}
#top #semi-bun a img {
	transition: 0.2s;
}
#top #semi-bun a img:hover {
	opacity: 0.7;
}

/* よっちだより */
#top #dayori {
	width: 960px;
	height: auto;
	border: 2px solid #FFDBED;
}

#top #dayori .n_midashi {
	height: 40px;
	background: url(../img/top/dayori-midashi.png) no-repeat;
	text-align: center;
	font-size: 116%;
	color: #F47195;
	padding-top: 7px;
}

#top #dayori #dayori_in {
	max-width: 960px;
	overflow: auto;
	padding: 0 15px 15px;
	text-align:left;
}

#top #dayori #dayori_in p.more-button {
	display: inline-block;
	margin:0;
	float: right;
}

#top #dayori #dayori_in p.more-button a {
	padding:15px;
	border:2px solid ;
	display:block;
	
}

#top #dayori #dayori_in a img {
	margin-bottom:15px;
}

#top #dayori #dayori_in dl {
    overflow: hidden;
    zoom: 1;
}

#top #dayori #dayori_in dl dt {
    margin-bottom: 5px;
    padding-bottom: 5px;
    width: 75px;
    float: left;
    clear: both;
    font-weight: normal;
}

#top #dayori #dayori_in dl dd {
    margin-bottom: 5px;
    padding: 0 0 0 75px;
    border-bottom: 1px dotted #CCCCCC;
}


/* 診療科目 */

#top #treatment {
	margin-top: 30px;
	margin-bottom: 20px;
}

#top #treatment ul {
	list-style-type: none;
}

#top #treatment ul li:nth-child(4n+0) {
	padding-right: 0px;
}

#top #treatment ul li {
	margin-bottom: 15px;
	padding-right: 12px;
	float:left;
}

/* アクセスマップ */

#top #g_map {
	margin-bottom: 20px;
}

/* セミナーのお知らせ */

#top #t-banner {
	float:left;
}

#top #t-banner #open_close {
	width:474px;
	margin-top:2em;
}

#top #t-banner #open_close h3 {
	font-size:20px;
	font-weight:bold;
	padding:0.5em;
	background-color:#FFDBED;
}

#top #t-banner #open_close th {
	color:#f2517d;
	font-size:16px;
}

#top #t-banner #open_close td {
	font-size:16px;
	text-align:center;
}

#top #t-banner #open_close td span {
	color:#f2517d;
}


/* topロゴ */

#top #clinic-rogo {
	float:right;
}

#top #clinic-rogo img {
	display: block;
}


/*----------------------------------------------------
	院長・スタッフ紹介ページ
----------------------------------------------------*/

.ryakureki ul li {
	list-style: none inside url(../img/icon/list-icon.png); 
	text-indent:-0.9em;
  	padding-left:0.9em;
}

.ryakureki p {
	font-size: 123.1%;
	color: #E3124B;
}

.interview dt {
	font-size: 123.1%;
	color: #E3124B;
}

.interview dd {
	padding: 1em 1.5em;
	background-color:#FFF2F8;
	margin: 1em 0;
}

#staff_intro .staffimg01 {
	display:block;
	margin:0 auto 24px;
}


/*----------------------------------------------------
	アクセスページ
----------------------------------------------------*/

#illust-map {
	text-align: center;
	border: 5px double #F47195;
}


/*----------------------------------------------------
	初めての方へ
----------------------------------------------------*/

/* 診療科目 */

.treatment {
	margin-bottom: 20px;
}

.treatment ul {
	list-style-type: none;
}

.treatment ul li:nth-child(4n+0) {
	padding-right: 0px;
}

.treatment ul li {
	margin-bottom: 15px;
	padding-right: 12px;
	float:left;
}

.guide-add p {
	padding-bottom:20px;
}

.photo-r {
	float:right;
	padding-left:30px;
	margin-bottom:30px;
}

/* よっちだより 中ページ */
#more-dayori {
	width: 100%;
	height: auto;
	border: 2px solid #FFDBED;
}

#more-dayori .n_midashi {
	height: 40px;
	background: url(../img/top/dayori-midashi.png) no-repeat;
	text-align: center;
	font-size: 116%;
	color: #F47195;
	padding-top: 7px;
}

#more-dayori #dayori_in {
	max-width: 100%;
	overflow: auto;
	padding: 0 65px 15px;
	text-align:left;
}

#more-dayori #dayori_in a {
	margin-right: 15px;
}

#more-dayori #dayori_in a:nth-child(3n) {
	margin-right: 0;
}

#more-dayori #dayori_in p.more-button {
	display: inline-block;
	margin:0;
	float: right;
}

#more-dayori #dayori_in p.more-button a {
	padding:15px;
	border:2px solid ;
	display:block;
	
}

#more-dayori #dayori_in a img {
	margin-bottom:15px;
}

#more-dayori #dayori_in dl {
    overflow: hidden;
    zoom: 1;
}

#more-dayori #dayori_in dl dt {
    margin-bottom: 5px;
    padding-bottom: 5px;
    width: 75px;
    float: left;
    clear: both;
    font-weight: normal;
}

#more-dayori #dayori_in dl dd {
    margin-bottom: 5px;
    padding: 0 0 0 75px;
    border-bottom: 1px dotted #CCCCCC;
}


/* 診療科目 */

#top #treatment {
	margin-top: 30px;
	margin-bottom: 20px;
}

#top #treatment ul {
	list-style-type: none;
}

#top #treatment ul li:nth-child(4n+0) {
	padding-right: 0px;
}

#top #treatment ul li {
	margin-bottom: 15px;
	padding-right: 12px;
	float:left;
}


#top-blog {
	background-image:url(../img/top/blog-back.png);
	background-position:center top;
	background-repeat:no-repeat;
	background-size:cover;
	width:100%;
	box-sizing:border-box;
	margin:0 0; 
}

#top-blog p.b_midashi {
	background-image:url(../img/top/blog-title.png);
	background-position:center top;
	background-repeat:no-repeat;
	background-size:cover;
	width:100%;
	height:70px; 
	box-sizing:border-box;
	margin:0 0 30px;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;

}

#top-blog .blog-primary {
	width: 100%;
    display: inline-block;
    padding: 0 30px;
    box-sizing: border-box;
}

#top-blog .blog-primary .list {
	width:calc(20% - 30px);
	margin-right:30px;
	margin-bottom:30px;
	float:left;
}

#top-blog .blog-primary .list .thum {
	background-position:center top;
	background-repeat:no-repeat;
	background-size:cover;
	background-color:rgba(255,255,255,1.00);
	width:100%;
	height:108px;
	margin-bottom:23px;
	position:relative;
}

#top-blog .blog-primary .list .thum a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
}

#top-blog .blog-primary .list p a {
	font-size:16px;
	color:#000000 !important;
	text-decoration:none;
}

#top-blog .blog-primary .list p a span {
	font-size:16px;
	display:block;
	color: #f47195 !important;
}

/*----------------------------------------------------------------------------
   blog
------------------------------------------------------------------------------*/

h2.fsize-xl{	
	display: block;
    font-size: 1.5em;
    margin-block-start: 0.83em;
    margin-block-end: 0.83em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
}

.blog {
}

.blog h3.subtitle {
	margin-bottom:1em; 
}

#blog-contents-primary {
	position:relative;
}

.blog .content {
	box-sizing:border-box;
	/* padding-right:300px; */
	width: 65%;
	float: left;
}

.blog #sidebar {
	width: 29%;
	float: right;
}

.blog #sidebar .box {
	background-color:#ffffff;
	box-sizing:border-box;
	border:3px solid #cccccc;
	padding:20px;
	padding-top:16px;
	margin-bottom:30px;
}

.blog #sidebar .box h3 {
	margin:0;
	padding:0;
	margin-bottom:20px;
	color: #e94784;
	font-family: 'FOT-RodinNTLGPro-M';
}

.blog #sidebar .box ul {
	list-style:none;
	margin:0;
	padding:0;
}

.blog #sidebar .box ul li {
	border-bottom:1px dotted #000000;
	padding-bottom:10px;
	margin-bottom:9px;
}

.blog #sidebar .box ul li a {
	text-decoration:none;
	color:#000000;
	transition:0.3s;
}

.blog #sidebar .box ul li a span {
	font-size:12px;
}

.blog #sidebar .box ul li a:hover {
	padding-left:10px;
	color:#b44444;
}

.blog #sidebar .box select {
	width:100%;
}

.blog .content h2 {
	border:none !important;
	text-align:left !important;
	padding:0 !important;
	padding-left:15px !important;
	font-size:20px !important;
	color:#ffffff !important;
	background-color:#221815;
	height:45px !important;
	line-height:45px !important;
	margin-left:-3px !important;
	margin-top:5px !important;
}

.blog .content h3 {
	margin:0;
	padding:0;
	display:block;
	font-weight:normal;
	font-size:24px;
	padding-top:20px;
	padding-bottom:20px;
	padding-left:30px;
	margin-bottom:30px;
	border-top: 3px solid #e94784;
	border-bottom: 1px solid #e94784;
	color: #e94784;
	font-family: 'FOT-RodinNTLGPro-M';
}

.blog .content h3 span {
	font-weight:normal;
	display:block;
	font-size:18px;
	color:#000000;
}

.blog .content {
	/* padding-bottom:40px; */
}

.blog .content .kiji-box div {
	margin-bottom:30px;
}

.blog .content .kiji-box img {
	max-width:600px;
	height:auto;
}

.youtube{
    display: flex;
    margin-bottom: 40px;
}

.youtube p{
    padding-left: 10px;
    margin-right: 40px;
}

/* -----------------------------------------------------------------------------
	responsive img-auto-width
 -------------------------------------------------------------------------------*/

.img-auto-width {
	position:relative;
	width:calc(100% + 30px);
}
@media screen and (max-width:1100px){
.img-auto-width {
	position:relative;
	width:calc(100% + 30px);
	padding-left: 30px;
	padding-right:30px;
	box-sizing: border-box;
}
}
.img-auto-width img, .img-auto-width figure, .img-auto-width .item {
	width:calc(25% - 30px);
	height:auto;
	margin-right:30px;
	margin-bottom:30px;
	float:left;
	transition:0.3s;
}

.img-auto-width.column3 img, .img-auto-width.column3 figure, .img-auto-width.column3 .item {
	width:calc(33.333% - 30px);
	height:auto;
	margin-right:30px;
	margin-bottom:30px;
	float:left;
	transition:0.3s;
}

.img-auto-width.column2 img, .img-auto-width.column2 figure, .img-auto-width.column2 .item {
	width:calc(50% - 30px);
	height:auto;
	margin-right:30px;
	margin-bottom:30px;
	float:left;
	transition:0.3s;
}

/* figure */

@media screen and (max-width: 900px) {
	.img-auto-width img, .img-auto-width figure, .img-auto-width .item { width:calc(33.333% - 30px); }
}

@media screen and (max-width: 800px) {
	.img-auto-width img, .img-auto-width figure, .img-auto-width .item { width:calc(50% - 30px); }
}

@media screen and (max-width: 640px) {
	.img-auto-width img, .img-auto-width figure, .img-auto-width .item { width:calc(100% - 30px); }
}

.img-auto-width figure { text-align:center; }

.img-auto-width figure img {
	width:100% !important;
	height:auto;
	margin-bottom:15px;
}

/* alternative */

.img-auto-width .item a {
	width:100%;
	height:300px !important;
	display:block;
	background-position:center top;
	background-repeat:no-repeat;
	background-size:contain;
}

/* alternative figure */

.img-auto-width .item figure {
	width:100% !important;
}

.img-auto-width .item figure a {
	margin-bottom:15px;
}



.price-flow li{
    position:relative;
    width:100%;
    /*height:80px;*/
    background:#daf5dc;
    padding:10px;
    /*text-align:center;*/
    color:#000000;
    font-size:16px;
    /*font-weight:bold;*/
    border-radius:10px;
    -webkit-border-radius:10px;
    -moz-border-radius:10px;
}
.price-flow li:not(:last-child)::after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(218, 245, 220, 0);
    border-top-width:10px;
    border-bottom-width:10px;
    border-left-width:10px;
    border-right-width:10px;
    margin-left: -10px;
    border-top-color:#daf5dc;
    top:100%;
    left:50%;
	
}

.price-flow li:nth-child(3){
	font-weight: bold;
	text-align: center;
	font-size: 24px;
}

.price-flow li:not(:last-child){
	margin-bottom: 15px;
}

.price{
	font-weight: bold;
}

.price-flow li p{
	text-indent: 2em;
}

.btn--red,
a.btn--red {
  color: #fff;
  background-color: #ff97cb;
  text-decoration: none;
  padding: 10px 20px;
}
.btn--red:hover,
a.btn--red:hover {
  color: #fff;
  background: #b96790;
  text-decoration:underline;
}