@charset "utf-8";
/* *******************************************************************************
-------------------------------------------------------------
■ PC
-------------------------------------------------------------
 1. title
 ├ 1-1. h2
 ├ 1-2. h3
 └ 1-3. h4 
 2. bt
 3. base template
 4. SNS
 5. table
 ├ 5-1. default
 ├ 5-3. table01
 ├ 5-3. table02 
 └ 5-4. hours
 6. 汎用プロパティ
 ├ 6-1. float
 ├ 6-2. margin
 ├ 6-3. text-align
 ├ 6-4. 画像の配置
 ├ 6-5. 画像の装飾
 └ 6-6. rollover（透過）
 7. その他テンプレート
 ├ 7-1. ビフォーアフター
 ├ 7-2. list
 ├ 7-3. flow
 └ 7-4. qa
 8. MAP
 9. コンテンツ非表示
 
-------------------------------------------------------------  
■ @media screen and (max-width: 600px)
-------------------------------------------------------------
 2. bt
 3. base template
 └ 3-1.画像横並び
 7. その他テンプレート
 └ 7-1. ビフォーアフター
 8. MAP

******************************************************************************* */
/* ----------------------------------------------------------
■ PC
----------------------------------------------------------- */
/* =====================================
 1. title (h2,h3,h4)
===================================== */
/* 1-1. h2 -------------------------- */
.gnv_tmp_h2_bg {
    border-bottom: 1px solid #dedede;
	/*background: url(/asset/h2_bg.gif) no-repeat bottom left;*/
    position: relative;
}
.gnv_tmp_h2_bg h2 {
	font-size: 160%;
    padding: 15px;
	line-height: 1.2;
}

/* h2 titleBg */
h2.titleBg,
#blogBody .contentArea h3 {
position: relative;
border-bottom: 3px solid #ffbabd;
border-radius: 4px;
font-size: 130%;
background: #ffedee url(/asset/h3_bg.png) no-repeat 13px;
padding: 10px 0 10px 30px;
line-height: 1.2;
color: #666666;
font-weight: normal;
text-shadow: #fff 1px 1px;
}

/* 1-2. h3 -------------------------- */
.gnv_tmp_h3_bg {
position: relative;
background: #ffedee;
border-bottom: 3px solid #ffbabd;
border-radius: 4px;
}
.gnv_tmp_h3_bg h3 {
font-size: 130%;
background: url(/asset/h3_bg.png) no-repeat 13px;
padding: 10px 0 10px 30px;
line-height: 1.2;
color: #666666;
font-weight: normal;
text-shadow: #fff 1px 1px;
}

/* 1-3. h4 -------------------------- */
.gnv_tmp_h4_bg {
	position: relative;
    border-left: 2px solid #dedede;
}
.gnv_tmp_h4_bg h4 {
	font-size: 110%;
	line-height: 1.4;
    /*margin-bottom: 0.5em;*/
    padding: 15px;
}

/* =====================================
 2. bt
===================================== */
.gnv_tmp_bt a {
	line-height: 1.4;
	display: block;
	padding: 8px 20px;
	text-align: center;
    background: #dedede;
}
.text_image .gnv_tmp_bt a {
	margin-top: 0.5em;
}
.gnv_tmp_bt a:hover,
.gnv_tmp_detail a:hover {
	text-decoration: none;
	background: #ccc;
}

/* btサイズ指定の場合 */
.gnv_tmp_detail a {
	width: 20%;
	float: left;
}

/* =====================================
 3. base template
===================================== */
.text_box {
	float: right;
	width: 67%;
}
.b_11_2_in span img,
.b_11 .b_11_in span img {
	margin: 0 1em 1em 0;
}
.b_01, .b_02 {
	margin: 0 0 1em;
}

/* =====================================
 4. SNS
===================================== */
#line,
#facebook,
.fb-like {
	margin-bottom: 5px;
}

/* =====================================
 5. table
===================================== */
/* 5-1. default -------------------------- */
.b_06 table td,
.b_06 table th {
    border: 1px solid #ccc;
}
.b_06_item {
    background: none repeat scroll 0 0 #eee;
    width: 30%;
}

/* 5-2. table01 -------------------------- */
table.gnv_tmp_table01 {
	margin-bottom: 1.5em;
}
table.gnv_tmp_table01 th,
table.gnv_tmp_table01 td {
    padding: 5px;
    text-align: left;
}
table.gnv_tmp_table01 {
    background: #fff;
	width: 100%;
}
table.gnv_tmp_table01 thead th {
    background: #ddd;
    border-top: 1px dotted #ccc;
}
table.gnv_tmp_table01 th {
    background: #efefef;
    border-top: 1px dotted #ccc;
    border-bottom: 1px dotted #ccc;
}
table.gnv_tmp_table01 td {
    background: #fff;
    border-bottom: 1px dotted #ccc;
    border-top: 1px dotted #ccc;
}

/* 5-3. table02 -------------------------- */
table.gnv_tmp_table02 {
	margin-bottom: 1.5em;
}

table.gnv_tmp_table02 th,
table.gnv_tmp_table02 td {
    padding: 5px;
    text-align: left;
}

table.gnv_tmp_table02 {
	width: 100%;
}
table.gnv_tmp_table02 thead th {
background: #ffe98f;
border-top: 1px solid #ffbc3c;
border-bottom: 1px solid #ffbc3c;
}
table.gnv_tmp_table02 th {
border-bottom: 1px solid #ffbc3c;
border-top: 1px solid #ffbc3c;
}
table.gnv_tmp_table02 td {
border-bottom: 1px solid #ffbc3c;
border-top: 1px solid #ffbc3c;
}

/* 5-4. hours -------------------------- */
table.gnv_tmp_hours th,
table.gnv_tmp_hours td {
	text-align: center;
}
table.gnv_tmp_hours tbody th {
	width: 20%;
}

/* =====================================
 6. 汎用プロパティ
===================================== */
/* 6-1. float -------------------------- */
.fl { float: left;}
.fr { float: right;}

/* 6-2. margin -------------------------- */
.mt05 { margin-top: 5px !important;}
.mt10 { margin-top: 10px !important;}
.mt15 { margin-top: 15px !important;}
.mt20 { margin-top: 20px !important;}
.mt25 { margin-top: 25px !important;}
.mt30 { margin-top: 30px !important;}
.mt35 { margin-top: 35px !important;}
.mt40 { margin-top: 40px !important;}
.mt45 { margin-top: 45px !important;}
.mt50 { margin-top: 50px !important;}

.mr05 { margin-right: 5px !important;}
.mr10 { margin-right: 10px !important;}
.mr15 { margin-right: 15px !important;}
.mr20 { margin-right: 20px !important;}
.mr25 { margin-right: 25px !important;}
.mr30 { margin-right: 30px !important;}
.mr35 { margin-right: 35px !important;}
.mr40 { margin-right: 40px !important;}
.mr45 { margin-right: 45px !important;}
.mr50 { margin-right: 50px !important;}

.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb35 { margin-bottom: 35px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb45 { margin-bottom: 45px !important;}
.mb50 { margin-bottom: 50px !important;}

.ml05 { margin-left: 5px !important;}
.ml10 { margin-left: 10px !important;}
.ml15 { margin-left: 15px !important;}
.ml20 { margin-left: 20px !important;}
.ml25 { margin-left: 25px !important;}
.ml30 { margin-left: 30px !important;}
.ml35 { margin-left: 35px !important;}
.ml40 { margin-left: 40px !important;}
.ml45 { margin-left: 45px !important;}
.ml50 { margin-left: 50px !important;}


/* 6-3. text-align -------------------------- */
.tal { text-align:left;}
.tac { text-align:center;}
.tar { text-align:right;}

/* 6-4. 画像の配置 -------------------------- */
/* 基本設定 */
/* right 
.b_11_2_in span img,
.b_11 .b_11_in span img {
	float: right;
	margin: 0 0 20px 20px;
}*/

/* 個別設定 -------------------------- */
/* left */
.img_l span img {
    float: left !important;
	margin: 0 20px 20px 0 !important;
}

/* right */
.img_r span img {
    float: right !important;
	margin: 0 0 20px 20px !important;
}

/* 6-5. 画像の装飾 -------------------------- */
/* 角丸 */
.image img,
.text_image img,
.gnv_tmp_style img {
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
}

/* 6-6. rollover（透過） -------------------------- */
.rollover a img:hover,
.rollover span a img:hover,
.rollover .img_r span a img:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

/* =====================================
 7. その他テンプレート
===================================== */
/* 7-1. ビフォーアフター -------------------------- */
.ba_box {
	background: url(/asset/ba_ar.png) no-repeat 49% 55%;
	display: table;
	width: 100%;
}
.ba_box div.column_l,
.ba_box div.column_r {
	display: table-cell;
	width: 30%;
}
.ba_box div.column_l span,
.ba_box div.column_r span {
	width: 100%;
}
.ba_box div.column_l p,
.ba_box div.column_r p,
.ba_box div.column_l span img,
.ba_box div.column_r span img {
	width: 95% !important;
	margin: 0 auto !important;
}
.ba_box .column_r, .ba_box .column_l {
	text-align: center;
	color: #B69440;
    font-size: 120%;
    font-weight: bold;
}
.ba_box .column_r span {
	text-align: right;
}

/* 7-2. list -------------------------- */
/* 通常リスト 01 */
.ic_01 {
	width: 100%;
}
.ic_01 .clearfix {
	padding: 5px 5px 5px 25px;
}
.ic_01 span {
	position: relative;
	line-height: 1;
}
.ic_01 span:before {
	content: "";
	position: absolute;
	background: #000;
	top: 10px;
	left: -16px;
	margin-top :-4px;
	height: 7px;
	width: 7px;
	border-radius: 50%;
	
}
/* ul */
.ic_01 ul {
	margin: 25px;
}
.ic_01 li {
	position: relative;
	padding: 4px 5px 5px 15px;
}
.ic_01 li:before {
	content: "";
	position: absolute;
	background: #ffbc3c;
	top: 10px;
	left: 0px;
	margin-top :0px;
	height: 7px;
	width: 7px;
	border-radius: 50%;
	
}

/* 通常リスト 02 */
.ic_02 .clearfix {
	padding: 5px 5px 5px 35px;
}
.ic_02 .clearfix span {
	position: relative;
	line-height: 1;
}
.ic_02 span:before{
    content:"\00a0";
    display: block;
    border: solid 9px #000;
    height: 0;
    width: 0;
    position: absolute;
    left: -29px;
    top: 10px;
    margin-top: -8px;
} 
.ic_02 span:after{
    content:"\00a0";
    display:block;
    width: 4px;
    height: 7px; 
    border: solid #fff;
    border-width: 0 2px 2px 0;
    position:absolute;
    left: -23px;
    top: 10px;
    margin-top: -4px;  
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
/* ul */
.ic_02 ul {
	margin: 35px;
}
.ic_02 li {
	position: relative;
	padding: 5px 5px 5px 0;
}
.ic_02 li:before {
    content:"\00a0";
    display: block;
    border: solid 9px #000;
    height: 0;
    width: 0;
    position: absolute;
    left: -29px;
    top: 10px;
    margin-top: -4px;
	
}
.ic_02 li:after{
    content:"\00a0";
    display:block;
    width: 4px;
    height: 7px; 
    border: solid #fff;
    border-width: 0 2px 2px 0;
    position:absolute;
    left: -23px;
    top: 10px;
    margin-top: 0;  
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* 矢印リスト 01 */
.ic_arrow_01 div {
	padding: 5px 5px 5px 25px;
}
.ic_arrow_01 span {
	position: relative;
}
.ic_arrow_01 span:before {
	display: block;
	content: "";
	position: absolute;
	left: -15px;
	width: 0;
	height: 0;
	margin-top: 6px;
	border: 5px solid transparent;
	border-left: 5px solid #000;
}
.ic_arrow_01 span:hover:before {
	left: -12px;
}

/* ul */
.ic_arrow_01 ul {
	margin: 25px;
}
.ic_arrow_01 li {
	position: relative;
	padding: 5px 5px 5px 15px;
}
.ic_arrow_01 li:before {
	display: block;
	content: "";
	position: absolute;
    top: 10px;
	left: 0px;
	width: 0;
	height: 0;
	margin-top: -1px;
	border: 5px solid transparent;
	border-left: 5px solid #ef6369;
}

/* 矢印リスト 02 */
.ic_arrow_02 .clearfix {
	padding: 5px 5px 5px 30px;
}
.ic_arrow_02 span {
	position: relative;
}
.ic_arrow_02 span:before {
	display: block;
	content: "";
	position: absolute;
    top: 10px;
	left: -25px;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	border-radius: 50%;
	background: #999;
}
.ic_arrow_02 span:after {
	display: block;
	content: "";
	position: absolute;
    top: 10px;
	left: -19px;
	width: 0;
	height: 0;
	margin-top: -5px;
	border: 5px solid transparent;
	border-left: 5px solid #fff;
}
.ic_arrow_02 span:hover:before {
	left: -22px;
}
.ic_arrow_02 span:hover:after {
	left: -16px;
}

/* ul */
.ic_arrow_02 ul {
	margin: 30px;
}
.ic_arrow_02 li {
	position: relative;
	padding: 5px 5px 5px 0;
}
.ic_arrow_02 li:before {
	display: block;
	content: "";
	position: absolute;
    top: 10px;
	left: -25px;
	width: 16px;
	height: 16px;
	margin-top: -4px;
	border-radius: 50%;
	background: #999;
}
.ic_arrow_02 li:after {
	display: block;
	content: "";
	position: absolute;
    top: 10px;
	left: -19px;
	width: 0;
	height: 0;
	margin-top: -1px;
	border: 5px solid transparent;
	border-left: 5px solid #fff;
}
.ic_arrow_02 li:hover:before {
	left: -22px;
}
.ic_arrow_02 li:hover:after {
	left: -16px;
}

/* 7-3. flow -------------------------- */
img.gnv_tmp_flow_arrow_01,
img.gnv_tmp_flow_arrow_02 {
	margin: 10px auto 0;
}

/* 7-4. qa -------------------------- */
.gnv_tmp_qa_q {
	border-left: 3px solid #333;
	margin-bottom: 10px;
	padding: 10px;
	display: table;
}
.gnv_tmp_qa_q span.tit {
	font-size: 200%;
	font-weight: bold;
	color: #333;
	padding-right: 20px;
	display: table-cell;
	width: 30px;
}
.gnv_tmp_qa_a {
	border-left: 3px solid #ccc;
	margin-bottom: 10px;
	padding: 10px;
	display: table;
}
.gnv_tmp_qa_a span.tit {
	font-size: 200%;
	font-weight: bold;
	color: #ccc;
	padding-right: 20px;
	display: table-cell;
	width: 30px;
}
.gnv_tmp_qa_a p,
.gnv_tmp_qa_q p {
	display: table-cell;
	width: 100%;
	vertical-align: top;
}

/* =====================================
 8. MAP
===================================== */
.gnv_tmp_map {
	position: relative;
	padding-bottom: 40%; /* これが縦横比 */
	height: 0;
	overflow: hidden;
	/*margin-left: 15px;
	margin-right: 15px;*/
}
.gnv_tmp_map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

/* =====================================
 9. コンテンツ非表示
===================================== */
.hikoukai {
	display: none !important;
}
#drag-temp-pre-content .parts.hikoukai {
	display: block !important;
	border: 5px solid #777;
	background: #555;
	padding: 20px 0;
}
/* TOPのみ解除 */
.top .hikoukai {
	display: block !important;
}
.top #drag-temp-pre-content .parts.hikoukai {
	background: none;
	border: none;
}

/* ----------------------------------------------------------
■ @media screen and (max-width: 600px)
----------------------------------------------------------- */

@media screen and (max-width: 600px) {
/* =====================================
 2. bt
===================================== */
.gnv_tmp_detail a {
	width: auto;
	float: none;
}

/* =====================================
 3. base template
===================================== */
.text_box {
	float: none;
	width: 100%;
}
.b_11_3.b_11_3_column3,
.b_11_3.b_11_3_column3 div.column_c,
.b_11_3.b_11_3_column3 div.column_l,
.b_11_3.b_11_3_column3 div.column_r {
	margin: 0 0 1.0em !important;
}
.b_11 .b_11_in span img,
.b_11_2_in span img {
	margin: 0 0 0.5em;
	width: 100%;
}

/* 3-1.画像横並び -------------------------- */
.b_10.b_10_column2.img_list {
    border: medium none;
    border-collapse: collapse;
    display: table;
    line-height: 1px;
    table-layout: fixed;
    width: 100%;
}
.b_10.b_10_column3.img_list {
	display: table;
}
/* 2列 */
.img_list.b_10.b_10_column2 div.column_l {
	display: table-cell;
    line-height: 1px;
    padding-right: 5px;
    vertical-align: top;
    width: auto;
}
.img_list.b_10.b_10_column2 div.column_r {
	display: table-cell;
    line-height: 1px;
    padding-left: 5px;
    vertical-align: top;
    width: auto;
}
/* 3列 */
.b_10.b_10_column3 div.column_blank {
    display: table-cell !important;
    vertical-align: top;
    width: auto;
}
.img_list.b_10_column3 div.column_c,
.img_list.b_10_column3 div.column_l {
    display: table-cell;
    width: 32%;
	margin-right: 1%;
}
.img_list.b_10_column3 div.column_r {
    display: table-cell;
    width: 32%;
	margin-right: 0;
}

/* =====================================
 7. その他テンプレート
===================================== */
/* 7-1. ビフォーアフター -------------------------- */
.ba_box {
	background: url(/asset/ba_ar_sp.png) no-repeat center 50%;
	margin: 0 auto 5em !important;
}
.ba_box div.column_l,
.ba_box div.column_r {
	width: 100%;
	display: block;
}
.ba_box .column_l {
	margin-bottom: 2em!important;
}
.ba_box .column_r span {
	text-align: center;
}

/* =====================================
 8. MAP
===================================== */
.gnv_tmp_map {
	position: relative;
	padding-bottom: 80%; /* これが縦横比 */
	height: 0;
	overflow: hidden;
	margin-left: 15px;
	margin-right: 15px;
}
}


/* ** 追記 **　*/

/* -------------------------------------------------------------
■ PC
------------------------------------------------------------- */

#base a:hover img {
opacity: 0.8;
filter: alpha(opacity=80);
-ms-filter: alpha( opacity=80 );
}
#header .rightBox a:hover img {
	opacity: 0.8;
filter: alpha(opacity=80);
-ms-filter: alpha( opacity=80 );
}
.top .blue {
color: #44ceba;
font-weight: bold;
font-size: 130%;
margin-bottom: 15px;
line-height:25px;
}
.blue {
color: #00cccc;
font-weight: normal;
font-size: 130%;
margin-bottom: 20px;
line-height:25px;
}
.orange {
	color:#ffbc3c;
	font-size:120%;
}
.top .b_11_2_in span img {
	margin: 0 1em 1em 0;
	width: 45%;
	max-width:300px;
}
.gnv_tmp_bt a {
line-height: 1.5em;
display: block;
margin: 0 auto;
padding: 12px 0px;
color: #fff;
font-size: 110%;
position: relative;
border-bottom: 3px solid #cccccc;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
background-color: #ff999d;
background: -moz-linear-gradient(top, #ffbebd, #ff999d);
background: -webkit-gradient(linear, left top, left bottom, from(#ffbebd), to(#ff999d));
background: linear-gradient(to bottom, #ffbebd, #ff999d);
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbebd', endColorstr='#ff999d', GradientType=0)";
width: 40%;
}
.gnv_tmp_bt a:hover {
	text-decoration: none;
	background: #ccc;
	border-bottom:3px solid #ff999d;
}
.centering {
	display: block;
	margin-right: auto;
	margin-left: auto;
}
.top_img {
margin-bottom: 50px;
}
.gnv_tmp_h2_bg {
    border-bottom: 4px solid #f09296;
	
    position: relative;
    width: 100%;  
    color: #f09296;  margin-bottom: 30px;
}
.gnv_tmp_h2_bg h2 {
	line-height: 1.5;
	padding: 10px 0 4px;  
	font-size: 180%;  text-align: center;
}
.b_11_2_in span img {
width: 40%;
}
.gnv_tmp_h4_bg {
position: relative;
border-left: 2px dotted #ffbc3c;
border-bottom: 2px solid #ffbc3c;
margin-bottom: 15px!important;
}
.gnv_tmp_h4_bg h4 {
font-size: 110%;
line-height: 1.5;
padding: 3px 0 3px 10px;
color: #666666;
}
.doctor .gnv_tmp_h4_bg {
width: 55%;
}
.b_11 .b_11_in span img {
width: 40%;
}
.doctor .h4_100 .gnv_tmp_h4_bg {
width: 100%;
}
table.lost {
background: #ffbabd;
width:100%;
margin-bottom:40px;
border: 2px solid #ffbabd;
}
table.lost th {
background: #ffedee;
padding: 10px;
width: 50%;
border:1px solid #ffbabd;
}
table.lost td {
background: #fff;
padding: 10px;
vertical-align: top;
border:1px solid #ffbabd;
}
.mb00 {
	margin-bottom:0!important;
}
/* table02 -------------------------- */
table.table02 {
}
table.table02 th {
width: 25%;
border-top: 0!important;
border-left: 0!important;
border-right: 0!important;
border-bottom: solid 1px #ffbabd;
padding-top: 10px;
background: none;
color: #ef6369;
}
table.table02 td {
border-top: 0!important;
border-left: 0!important;
border-right: 0!important;
border-bottom: dotted 1px #ffbabd;
padding-top: 10px;
}

.top .b_10 img {
max-width:700px;
}

.b_11.b_11_column2 div.column_r {
    padding-left: 10px;
}
.b_11.b_11_column2 div.column_l {
    padding-right: 10px;
}
/* ----------------------------------------------------------
■ Tablet
----------------------------------------------------------- */
@media screen and (max-width: 1024px) {
.doctor .gnv_tmp_h4_bg {
width: 55%!important;
}
}

/* ----------------------------------------------------------
■ @media screen and (max-width: 600px)
----------------------------------------------------------- */
@media screen and (max-width: 600px) {
.top .b_11_2_in span img {
margin: 0 1em 1em 0;
width: 100%;
max-width: 100%;
}
.gnv_tmp_bt a {
width: 100%;
}
.top_img {
margin-bottom: 25px;
}
.b_11_2_in span img {
width: 100%;
}
.b_11 .b_11_in span img {
width: 100%;
}
.doctor .gnv_tmp_h4_bg {
width: 100%;
}
.doctor .b_11_2_in span img {
width: 40%;
}
.ic_arrow_01 li {
position: relative;
padding: 2px 5px 5px 10px;
}
.gnv_tmp_h2_bg h2 {
font-size: 160%;

text-align: center;
}
}