.sp:not(.pc) ,.tb:not(.pc){
  display: none !important;
}
.splink{pointer-events: none;}


body{
}
#container{
	margin: 0;
	padding: 0;
}
#header {
	padding-bottom: 15px;
	
}
.header_inner {
	width: 1050px;
	max-width: 100%;
	height: 80px;
	margin: 0 auto;
	position: relative;
}

.header_inner .logo {
	width: 240px;
	height: 50px;
	margin: auto;
	position: absolute;
	left: 0;

	top: 0;
	bottom: 0;
}
.header_inner .tel {
	width: 166px;
	height:43px;
	margin: auto;
	position: absolute;
	right: 5px;
	top: 0;
	bottom: 0;
}

#header_menu {
	height: 52px;
	position: relative;
}
#header_menu #top_navi {
	width: 1040px;
	max-width: 100%;
	height: 52px;
	margin: auto;
	position: relative;
	display: flex;
	justify-content:space-between;
}
#header_menu #top_navi a {
	color: #000;
    width: 100%;
    font-weight: bold;
    text-align: center;
	display: flex;align-items:center;
		border-bottom: 3px solid rgba(0,0,0,0);
}
#header_menu #top_navi a.slct {
	border-bottom: 3px solid #ff88aa;
	color: #ff88aa;
}
#header_menu #top_navi a:hover {
	border-bottom: 3px solid #ff88aa;
	color: #ff88aa;
}

#header_menu #top_navi a span{
	color: #000;
    width: 100%;
    font-weight: 700;
    text-align: center;
	font-size: 2rem;
}


/* ---------------------------------------------------------------------- */
/*  ヘッダ-プルダウンメニュー                                             */
/* ---------------------------------------------------------------------- */



p#pan {
	width: 850px;
    font-size: 1.3rem;
    line-height: 20px;
    height: 20px;
    margin: 0px auto 20px;
    padding: 0px 0 0 0;
    text-align: left;
}
.page_img{
	background: url("../img/catch_bg.png") repeat-x left bottom;
	    padding-bottom: 50px;
}

#body{
	width: 850px;
	margin: 0 auto 20px;
	display: flex;
	justify-content: space-between;
	font-size: 1.5rem;

}
.main_col{
		width: 575px;
}
.sub_col{
	width: 240px;
	background: url(../img/sidebar_bg.png) right top repeat-y;
}
.sub_col .bana{
	margin: 15px;
}
.sub_col .bana a{
	display: block;
	margin: 0 0 15px;
}
.sub_col .bana a img{
	display: block;
	width: 100%;
}

#pagetop{
	margin: 0;
	padding: 0;
	text-align: right;
	border-bottom: 5px solid #ff88aa;
}
#pagetop p{
	padding: 0;
    width: 1040px;
    max-width: 100%;
    margin: auto;
}

#pagetop a{
	margin: 0 15px 0 0;
	text-align: right;
	background: #ff88aa;
	color: #fff;
	font-size: 1.2rem;
	border-radius: 4px 4px 0 0;
	padding: 5px 1em;
}
#pagetop a i{
	margin: 0 .5em 0 0;
}

#footer_upper{
	justify-content:space-between;
}

#footer_lower{
	display: flex;
	justify-content:space-between;
}
#footer_link {
    width: 1040px;
    max-width: 100%;
    margin:10px auto;
}
#footer_link ul{
	margin: 10px 0;padding: 0;
	list-style-type: none;
	display: flex;
	
}
#footer_link li{
	color: #ff88aa;
}
#footer_link li a{
	padding: 0 8px;margin: 5px 0;
	color: #000;
	display: inline-block;

}
#copyright{
	background: #ff88aa;
	color: #fff;
	line-height: 3;
	margin: 0;
	padding: 0;
	text-align: center;
	font-size: 1.2rem;
}
#copyright .inner{
	background: #ff88aa;
	color: #fff;
	width: 1050px;
    max-width: 100%;
    margin: 0 auto;
    position: relative;
	display: flex;
	justify-content:space-between;
}
#copyright .inner ul{
	display: flex;
	margin: 0 20px;
	padding: 0;
	list-style-type: none;
}
#copyright .inner ul li{
	margin:0 1em 0
}
#copyright .inner ul li a{
	color: #fff;
}
#copyright .inner ul li a:hover{
	text-decoration: underline;
}
p.copyright{
	color: #fff;
	line-height: 3;
	margin: 0;
	padding: 0;
	text-align: right;
	font-size: 1.2rem;
}
#pan{
	border-bottom:  1px solid #ccc;
	font-size: 1.4rem;
	padding: 0;
}
#pan ul{
	width: auto;
	max-width: 1040px;
	font-size: 1.4rem;
	padding: 0 5px;
	margin: 0 auto;
	line-height: 2;
    white-space: nowrap;
	list-style: none;
}

#pan ul li{
	display: inline-block;
}
#pan ul li+li::before{
	content: "\0bb";
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	line-height: 1;
	margin:0 .5rem;
}


.pc_dot{
	background: url("../img/dot_bg.gif")
}

.double_col{}
.double_col .contents_box{
    width: 1050px;
    max-width: 100%;
	margin: auto;
	display: flex;
	flex-direction:row-reverse;
	align-self:flex-start;
}
.double_col .contents_box .main{
	margin-left: 40px;
	margin-right: 5px;
    width: calc(100% - 280px);
	height: 100%;
}
.double_col .contents_box .sub{
	width: 230px;
	margin-left: 5px;
}
.double_col .bottom_bana img{
	width: auto;
	max-width: 100%;
}
.bottom_bana{
	margin: 20px auto;
}

.double_col .services{
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-around;
	}
	.services a{
    display: flex;
    flex-direction: column;
    border: 3px solid #ededed;
    background: #fff;
    align-items: center;
    font-size: 1.7rem;
    margin-bottom: 5px;
    /* min-width: 30%; */
    justify-content: space-between;
    color: #000;
    flex: 1 1 30%;
    margin: 5px;
	}
	.services a img{
		opacity: 0.5;
	}
	.services a:hover img{
		opacity: 1;
	}
	.services a:hover,.services a.slct{
		color: #ff88aa;
		border-color: #ff88aa;
	}
	.services a span {
		padding: 10px;
		flex: 0 0 40px;
	}
	.services a span img{
		width: 100%;
		padding: 1em 0;
	}
	.services a p {
		min-height: 3em;
		flex: 0 1 3em;
		padding: 0 0 0 0;
		margin: 0;
		line-height: 3em;
	}

#sidebar_fix_wrap {
	position: relative;
    flex:1;
}

#sidebar {
	max-width: 230px;
}
#sidebar.absolute {
	position: absolute;
	top: auto;
	bottom: 30px;
	left: 0;
	width: 230px;
}
#sidebar.fixed {
	position: fixed;
	top:25px;
	bottom: auto;
	left: 5px;
	width: 230px;
}
#sidebar.static {
	position: static;
	top: auto;
	bottom: auto;
	left: auto;
	width: 230px;
}
.flex{
	display: flex;
	flex-direction:row;
	margin-bottom: 20px;
	justify-content: space-around;
}
.flex.reverse{
	display: flex;
	flex-direction:row-reverse;
}
.flex .article{
	flex: 1 0 65%;

}
.flex .article p{
	margin: 0;

}
.flex .article p+p{
	margin: 15px 0 0;

}

.flex .img{
	flex: 0 1 auto;
	margin: 0 0 0 10px;
}

.flex .img img{
	width: auto;
}

@media (min-width: 1065px) {
	#sidebar_fix_wrap {
		position: relative;
		width: 230px;
	}

	#sidebar {
		width: 230px;
	}
	#sidebar.absolute {
		position: absolute;
		top: auto;
		bottom: 30px;
		left: 0;
		width: 230px;
	}
	#sidebar.fixed {
		position: fixed;
		top: 25px;
		bottom: auto;
		left: calc(50% - 520px);
		width: 230px;
	}
	#sidebar.static {
		position: static;
		top: auto;
		bottom: auto;
		left: auto;
		width: 230px;
	}

}
