/*==================================================
  CSS information
  --------------------------------------------------
  Filename   ：common.css
  Author     ：イースマイルシステムズ
  Description：テンプレート部分のスタイルを記述
==================================================*/
/*--------------------------------------------------
  ヘッダ
--------------------------------------------------*/
.mp2 { font-family: "M PLUS 2", sans-serif; }

#switchBtnArea #switchBtn { 
	z-index: 999;
}
#header {
	position: relative;
	padding-bottom: 8px;
	background: #FFF url(../img/bg_h1.gif) repeat-x top;
	border-bottom: 1px solid #FFF;
}
#header .in {
	position:relative;
	clear: both;
	text-align: right;
}
#header .sns li {
	list-style: none;
	float: right;
	padding: 10px 2px;
}
#header .sns li img {
	width: 35px;
	height: auto;
}
#header p {
	margin: 0px;
}
#header div.title {
	float: left;
	display: flex;
}
/* 上部テキスト */
#header h1,
#header p.h1 {
	color: #BBB;
	font-size: 12px;
	font-weight: normal;
	line-height: 18px;
	padding: 0 10px 2px;
	margin-top: -4px;
	margin-bottom: 5px;
	text-align: right;
}
/* 上部固定表示ボタン */
#btn_top_contact {
	position: fixed;
	top: 30px;
	right: 0px;
	z-index: 999999;
	text-align: right;
}
#btn_top_contact .eco_link a {
	display: block;
	width: 139px;
	background: #4EB333;
	text-decoration: none;
	font-weight: bold;
	text-align: center;
	padding: 8px 5px;
	font-size: 95%;
	color: #FFF;
	margin: 10px;
}
#btn_top_contact .eco_link a:hover {
	filter:alpha(opacity=90);
	-moz-opacity: 0.9;
	opacity: 0.9;
}
/*--------------------------------------------------
  ページタイトル
--------------------------------------------------*/
#page_title {
	position: relative;
	clear: both;
	width: 100%;
	margin: auto;
	background: #FFFFFF;
	text-align: center;
}
#page_title_in {
	position: relative;
}
#page_title p {
	margin-bottom: 0;
}
#page_title_in img {
	width: 100%;
	height: auto;
}
#page_title_in img {
	display: none;
}
#blog_page #page_title_in {
	padding-bottom: 0;
}
#top_page #page_title_in img,
#area_page #page_title_in img,
#beginner_page #page_title_in img,
#jokin_page #page_title_in img,
#bath_page #page_title_in img,
#course_new_page #page_title_in img,
#aircon_page #page_title_in img,
#voice_page #page_title_in img,
#beforeafter_page #page_title_in img {
	display: block;
}
#page_title_in h2.viseble img {
	display: block;
} 
/*--------------------------------------------------
  メニュー
--------------------------------------------------*/
#menu2  p {
	margin: 0;
}
#menu2  li {
	list-style: none;
}
#menu2  a {
	display: block;
	text-decoration: none;
}
#menu2  b.red {
	background: #D9344C;
	color: #FFF;
	font-size: 11px;
	padding: 0 5px;
	margin-right: 3px;
	border-radius: 3px;
}
#menu2 li span.dd_link {
	display: block;
	cursor: pointer;
}
/*--------------------------------------------------
  コンテナ
--------------------------------------------------*/
#container {
	clear: both;
	padding-top: 20px;
	text-align: left;
	line-height: 1.7;
}
/*--------------------------------------------------
  メイン
--------------------------------------------------*/
.bg_color {
	background: #E1EFF9;
}
#main h3.sub {
	margin-bottom: 15px;
}
#main h3.sub02 {
	border-bottom: 2px solid #14449b;
	padding: 0 0 5px 30px;
	font-size: 23px;
	margin-bottom: 15px;
	background: url(../img/time/ico._sub.png) no-repeat left 3px;
}
h1.sub03 b,
h2.sub03 b,
h3.sub03 b,
p.sub03 b {
	position: relative;
}
h2.sub03 .cara,
h3.sub03 .cara,
p.sub03 .cara {
	position: absolute;
	bottom: 0;
	right: 0;
	margin-bottom: -13px;
}
#container h1.sub03,
#container h2.sub03,
#container h3.sub03,
#container p.sub03,
#container h2#aircon_h2.sub03 {
	font-size: 18pt ;
  margin: 0px 0px 20px;
  padding: 14px 10px 13px;
	border-top: 3px solid #14449b;
	box-shadow: 0 1px 6px rgba(0,0,0,0.2);;
	color: #333;
}
#container h1.sub03 b,
#container h2.sub03 b,
#container h3.sub03 b,
#container p.sub03 b,
#container h2#aircon_h2.sub03 b {
	margin: auto;
	display: block;
	padding-left: 0;
	background: none;
}
#container h3.sub04 {
	background: #F6F6F6;
	border-left: 5px solid #CCCCCC;
	padding: 10px;
	margin-bottom: 15px;
	font-size: 18px;
}
#top_page h1.sub03,
#top_page h2.sub03,
#top_page h3.sub03,
#top_page p.sub03,
#course_new_page h2.sub03,
#course_new_page h3.sub03,
#course_new_page p.sub03,
#area_page h2.sub03,
#area_page h3.sub03,
#area_page p.sub03,
#beginner_page h2.sub03,
#beginner_page h3.sub03,
#beginner_page p.sub03,
#beforeafter_page h2.sub03 {
	border-top: none;
	box-shadow: none;
    position: relative;
    width: 100%;
    margin: 10px auto 30px !important;
    padding: 5px 0 10px;
	font-size: 28px;
    text-align: center !important;
	max-width: 1000px;
}
#top_page h1.sub03::before,
#top_page h2.sub03::before,
#top_page h3.sub03::before,
#top_page p.sub03::before,
#course_new_page h2.sub03::before,
#course_new_page h3.sub03::before,
#course_new_page p.sub03::before,
#area_page h2.sub03::before,
#area_page h3.sub03::before,
#area_page p.sub03::before,
#beginner_page h2.sub03::before,
#beginner_page h3.sub03::before,
#beginner_page p.sub03::before,
#beforeafter_page h2.sub03::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 1px;
    margin: 0 auto;
    text-align: center;
    background-image: -webkit-linear-gradient(left, transparent, #000 25%, #000 75%, transparent);
    background-image: linear-gradient(to right, transparent, #000 25%, #000 75%, transparent);
    background-position: center;
    background-repeat: no-repeat;
}
#beforeafter_page h2.sub03 span {
	font-size: 13px;
	margin-top: -8px;
	display: block;
	font-weight: normal;
}
#top_page h2.sub03 .cara,
#top_page h3.sub03 .cara,
#top_page p.sub03 .cara,
#area_page h2.sub03 .cara,
#area_page h3.sub03 .cara,
#area_page p.sub03 .cara {
	display: none;
}
/*--------------------------------------------------
  ナビ
--------------------------------------------------*/
body#beforeafter_page #navi {
	display: none;
}
#navi_mailmagazine .in {
	background: #83D8FF;
	border: 5px solid #B7E8FF;
	padding: 5px 10px;
}
#navi_mailmagazine h3 {
	color: #D9344C;
	font-size: 21px;
}
#navi_mailmagazine p {
	margin-bottom: 5px;
	font-size: 13px;
}
#navi_mailmagazine .btn {
	margin: 0 -10px;
}
/*ビフォーアフター*/
#navi .sub_link {
	margin: 20px 0px 25px;
}
#navi .sub_link li {
	list-style: none;
	margin-bottom: 15px;
}
#navi .sub_link li img {
	vertical-align: bottom;
}
#navi .share li {
	list-style: none;
	float: left;
}
#navi .share li+li {
	margin-left: 10px;
}
/*対応エリア*/
#top_area {
	clear: both;
	margin-bottom: 20px;
	padding: 5px;
	background: #f3981e;
	border-radius: 10px;
}
#top_area .in {
	padding: 20px 10px 10px;
	background: #FFFFFF;
	border-radius: 10px;
	border-top: none;
	line-height: 1.4;
}
#top_area h3 {
	position: relative;
	padding: 2px 10px;
	color: #FFFFFF;
	font-size: 20px;
}
#top_area h3:after {
	position: absolute;
	top: -20px;
	right: 0px;
	content: "";
	display: block;
	background: url(../img/navi/area.png) no-repeat left top;
	width: 98px;
	height: 73px;
}
#top_area .txt_title {
	margin-bottom: 0px;
	color: #D9344C;
	font-size: 16px;
	font-weight: bold;
}
#top_area dt {
	text-indent: -0.5em;
	color: #3BB149;
}
#top_area dd {
	margin-bottom: 6px;
	padding-bottom: 6px;
	border-bottom: 1px dashed #cfcfcf;
	font-size: 85%;
	text-align: justify;
	text-justify: inter-ideograph;
}
/*セットメニュー*/
#top_setmenu {
	margin-bottom: 20px;
	padding: 0 10px 1px;
	background: url(../img/navi/bg_setmenu2.gif);
	border-radius: 0 0 10px 10px;
}
#top_setmenu p {
	margin-bottom: 10px;
	padding: 8px 10px 10px;
	background: #FFFFFF url(../img/navi/link.gif) no-repeat right top;
	border-radius: 5px;
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
}
#top_setmenu p b {
	display: block;
	margin-bottom: 5px;
	padding-left: 20px;
	background: url(../img/navi/ico.gif) no-repeat left top;
	font-size: 16px;
} 
#top_setmenu p.time {
	background-color: #FFFFFF;
	background-image: url(../img/navi/link.gif), url(../img/navi/ico_time.png);
	background-position: right top, right 15px top 15px;
	background-repeat: no-repeat;
} 
#top_setmenu p img {
	max-width: 100%;
	height: auto;
}
#top_setmenu a {
	color: #333;
}
#top_setmenu img {
	border-radius: 4px;
}
/*メニュー一覧*/
#navi_menu {
	clear: both;
	margin-bottom: 30px;
	padding: 0 10px 10px;
	background:url(../img/navi/bg_menu.gif);
	border-radius: 0 0 10px 10px;
	color: #3B9749;
	font-size: 15px;
	font-weight: bold;
	line-height: 20px;
}
#navi_menu img {
	border-radius: 4px;
}
#navi_menu ul {
	padding: 10px 10px 1px;
	background: #FFFFFF;
	border-radius: 5px;
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
}
#navi_menu li {
	margin-bottom: 5px;
	padding: 0 0 5px 15px;
	background: url(../img/navi/p.gif) no-repeat left 4px;
	border-bottom: 1px solid #DDDDDD;
	list-style: none;
}
#navi_menu li:after {
	clear: both;
	display: block;
	overflow: hidden;
	height: 0px;
	content: "";
}
#navi_menu li:last-child {
	border-bottom: none;
}
#navi_menu a {
	color: #333;
}
/**/
#navi_calendar {
	clear: both;
	width: 180px;
	margin-bottom: 20px;
	padding: 0 20px 15px;
	background:url(../img/info/bg.gif) no-repeat center bottom;
	font-size: 13px;
}
#navi_calendar table {
	width: 100%;
}
#navi_calendar thead th,
#navi_calendar tbody td {
	padding: 2px 0;
	text-align: center;
}
#navi_calendar thead th {
	background: #fce0bb;
	border-top: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
}
#navi_archives {
	clear: both;
	width: 200px;
	margin-bottom: 20px;
	padding: 0 10px 10px;
	background:url(../img/info/bg.gif) no-repeat center bottom;
	font-size: 13px;
	line-height: 20px;
	font-weight:bold;
}
#navi_archives li {
	margin-bottom: 5px;
	padding: 0 0 5px 20px;
	background: url(../img/navi/p.gif) no-repeat 7px 4px;
	border-bottom: 1px solid #DDDDDD;
	list-style: none;
}
#navi_archives a {
	color: #333333;
}
#navi_archives a:hover {
	text-decoration: underline;
	color: #3BB149;	
}
/**/
#navi p.link {
	text-align: center;
}
#navi p.link a {
	display: block;
	background: #FFFFFF;
	border: 1px solid #CCCCCC;
}
#navi .share {
	margin-bottom: 10px;
}
#navi .share li {
	float: left;
}
/*--------------------------------------------------
  フッタ
--------------------------------------------------*/
/* LINE */
#top_line {
	clear: both;
	background: #3abd1d;
	border-radius: 10px;
	padding: 10px;
}
#top_line table {
	width: 100%;
	line-height: 1.3;
}
#top_line th {
	white-space: nowrap;
	padding-left: 30px;
	color: #FFF;
	font-size: 40px;
	font-weight: bold;
	text-align: center;
}
#top_line td.cen {
	width: 1%;
	white-space: nowrap;
	vertical-align: top;
	font-weight: bold;
}
#top_line td.cen a {
	display: block;
	padding: 25px 20px;
	background: #FFF;
	border-radius: 10px;
}
#top_line td.cen p {
	margin: 0;
	text-align: center;
}
#page #top_line td,
#course_page #top_line td,
#course_new_page #top_line td {
	display: block;
}
#page #top_line th,
#course_page #top_line th,
#course_new_page #top_line th {
	font-size: 16px;
	display: block;
	white-space:normal; 
	padding: 10px;
}
#page #top_line td.cen,
#course_page #top_line td.cen,
#course_new_page #top_line td.cen {
	width: auto;
	padding: 0;
	background: #FFF;
	padding-top:10px;
}
#page #top_line td.cen a,
#course_page #top_line td.cen a,
#course_new_page #top_line td.cen a {
	width: auto;
	padding: 0;
}
#page #top_line td.cen p,
#course_page #top_line td.cen p,
#course_new_page #top_line td.cen p {
	padding: 0 10px 10px;
	background: #FFF;
}
/* SNSリンク */
/* ボタン全体 */
.flowbtn11{
	text-align: center;
	color:#fff!important;
	display: block;
	text-decoration:none;
	height: 50px;
  	line-height: 50px;
}
.flowbtn11 {
	display: flex;
  	justify-content: center;
	align-items: center;
}
.flowbtn11:hover {
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}
.flowbtn11 img {
	width: 36px;
	height: 30px;
}
.flowbtn11:hover img {
	background: none;
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}
/* Twitter */
.fl_tw1{
background:#000000;
}
/* Instagramアイコン位置 */
.insta_btn11 .fa-instagram{
position:relative;
z-index:1;	
}
/* Instagram背景 */
.insta_btn11 {
	background: -webkit-linear-gradient(top left, #427eff 0%, #f13f79 70%) no-repeat;
	background: -o-linear-gradient(top left, #427eff 0%, #f13f79 70%) no-repeat;
	background: linear-gradient(to bottom right, #427eff 0%, #f13f79 70%) no-repeat;
}
/* YouTube */
.fl_yu1{
background:#fc0d1c;
}
/* LINE */
.fl_li1{
background:#00c300;
}
/* ボタン内テキスト調整 */
.flowbtn11 span{
font-size:16px;	
position:relative;
left:8px;
bottom:2px;
transition:.6s;	
display:inline-block;	
}
.mailmagazine {
	border: 1px solid #328ec1;
}
.mailmagazine .in {
	border: 5px solid #9aecfa;
	background: #0293c8;
	color: #FFF;
	padding: 10px;
}
.mailmagazine p {
	font-size: 14px;
}
.mailmagazine p.title {
	font-weight: bold;olor: #000;
  	text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
     -1px 1px 0 #FFF, 1px -1px 0 #FFF,
     0px 1px 0 #FFF,  0-1px 0 #FFF,
    -1px 0 0 #FFF, 1px 0 0 #FFF;
	color: #333;
	margin-bottom: 5px;
	font-size: 22px;
}
.mailmagazine p a {
	background: #FFF;
	display: block;
	padding: 5px;
	border-radius: 5px;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	font-size: 16px;
}
#footer_menu {
	padding: 40px 0 40px;
	background: #e1eff9;
}
#footer_menu .cleaning_plan_list a .ttl h3 {
	text-align: center;
	font-size: 16px;
}
#footer_menu .main {
	max-width: 1000px;
	margin: auto;
}
#footer_menu h2 {
  position: relative;
  padding: 1rem;
	line-height: 1.5;
  text-align: center;
	margin-bottom: 30px;
	color: #333;
	font-size: 25px;
}
@media only screen and (max-width: 640px){ 
#footer_menu h2 {
	font-size: 17px;
	margin-bottom: 15px;
	}
#footer_menu {
	padding: 15px 0 10px;
}
}
#footer_menu h2:before {
  position: absolute;
  bottom: 5px;
  left: calc(50% - 30px);
  width: 50px;
  height: 2px;
  content: '';
  background: #14449b;
}
#footer {
	width: 100%;
	background: #14449b;
	color: #FFF;
	font-size: 14px;
	line-height: 1;
}
#footer p {
	margin-bottom: 0;
}
#footer .box {
	clear: both;
	padding: 30px 0px 10px;
	text-align: left;
}
#footer .box ul {
	float: left;
	margin-right: 55px;
	margin-bottom: 30px;
	line-height: 18px;
}
#footer .box ul:last-child {
	margin-right: 0;
}
#footer .box li {
	padding: 0 0 0 16px;
	list-style: none;
	margin-bottom: 3px;
	background: url(../img/fotter_midashi.png) no-repeat 5px 3px;
}
#footer .box li.none {
	padding: 0 0px 0 0;
	border: none;
	background: none;
}
#footer .box li a {
	color: #FFF;
	text-decoration: none;
}
#footer .box li a:hover {
	text-decoration: underline;
}
#top_page #footer .footer_area_menu {
	display: block;
}
#footer .footer_area_menu {
	clear: both;
	width: 1000px;
}
#footer .footer_area_menu .box {
	display: flex;
	padding-top: 10px;
}
#footer .footer_area_menu ul.list {
	width: 250px;
	margin-bottom: 10px;
}
#footer .footer_area_menu ul {
	float: none;
	margin-right: 0;
}
#footer .footer_area_menu li {
	line-height: 1.4;
}
#footer .footer_area_menu li:first-child {
	float: none;
}
#footer .box .footer_area_menu ul {
	margin-bottom: 10px;
}
/* 概要 */
#top_company {
	padding: 40px 0 0;
	line-height: 1.5;
}
#top_company .title_f {
	max-width: 300px;
}
#top_company img {
	vertical-align: middle;
}
#top_company .box {
	position:relative;
	padding: 0 0 35px;
	font-size:14px;
	border-bottom: 1px solid #FFF;
}
#top_company .thin {
	font-size: 13px;
	color: #D9EBFC;
}
#top_company .contact {
}
#top_company p.pad {
	margin-top: 15px;
}
#top_company .in {
	margin-bottom: 15px;
}
#top_company p.b {
	margin-bottom: 5px;
	font-size: 25px;
}
#top_company p.tel a {
	color: #FFF;
	font-weight: bold;
	font-size: 30px;
	text-decoration: none;
	background: url("../img/tel_w.png") no-repeat left 2px;
	background-size: 30px auto;
	padding-left: 35px;
}
#top_company p.mail {
	margin-top: 5px;
	vertical-align: middle;
}
#top_company p.mail img {
	width: 28px;
	margin-top: -3px;
	margin-right: 5px;
}
#top_company p.mail a {
	padding: 6px 8px 8px;
	background: #FFFFFF;
	border-radius: 5px;
	width: 260px;
	display: block;
	color: #14449B;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
}
#top_company p.photo {
	position: absolute;
	right: 0;
	bottom: 0;
}
#top_company p.pad a {
	color: #0377e8;
}
#top_company .tel {
	color: #FFF;
}
/* コピーライト */
#copyright {
	clear: both;
	color: #D9EBFC;
	padding-top: 2px;
	font-size: 85%;
	text-align: right;
	padding-bottom: 15px;
}
#copyright a {
	color: #D9EBFC;
}

/*--------------------------------------------------
  共通
--------------------------------------------------*/
/* パンくずリスト */
/*
#page_navi {
	clear: both;
	margin-bottom: 20px;
	color: #888888;
	font-size: 12px;
	line-height: 1;
}
#page_navi li {
	display: inline;
	margin-right: 6px;
}
#page_navi li:first-child {
	background: url("../img/ico_home.png") no-repeat left top;
	background-size: 15px auto;
	padding-left: 19px;
}
#page_navi a {
	text-decoration: none;
	color: #888888;
}
#page_navi a:hover {
text-decoration:
}
 */
#page_navi {
	clear: both;
	margin-bottom: 20px;
	color: #888888;
	font-size: 12px;
}
#page_navi li { display: inline; }
#page_navi li+li { margin-left: 6px; }
#page_navi li+li:before {
	content: ">";
	margin-right: 6px;
}
#page_navi li:first-child {
	background: url("../img/ico_home.png") no-repeat left top;
	background-size: 15px auto;
	padding-left: 19px;
}
#page_navi a {
	text-decoration: none;
	color: #888888;
}
/* テーブル */
.tbl {
	width: 100%;
	background: #FFFFFF;
}
.tbl th, .tbl td {
	padding: 10px;
	border: 1px solid #be9f75;
}
.tbl th {
	white-space: nowrap;
	background: #d8c3a2;
}
/* 注意書き */
.attention dt {
	float: left;
	width: 16px;
}
.attention dd {
	margin-left: 16px;
}

/* マーク */
.mark {
	padding-left: 16px;
	background: url(../img/p.gif) no-repeat 0px 0px;
}
/* WP */
.yarpp-related {
	clear: both;
	padding-top: 20px;
}

/* フレックスボックス */
.box_pad {
	padding: 15px;
	box-sizing: border-box;
}
.box_flex_sp {
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
}
.box_flex_sp.rev { flex-direction: row-reverse; }
.box_flex_sp.vcen { align-items: center; }
@media print, screen and (min-width: 641px){ /* PC用 */
	.box_pad { padding: 30px; }
	.box_flex {
		display:flex;
		flex-wrap:wrap;
		justify-content: space-between;
	}
	.box_flex.rev { flex-direction: row-reverse; }
	.box_flex.vcen { align-items: center; }
}