@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP');
@import url('https://fonts.googleapis.com/css?family=PT+Serif');
/*</style>*/

/* ==========================================================

	header・container・footer

========================================================== */
body {
	line-height:1.8;
	/*font-family: 'Noto Serif JP', sans-serif;*/
}

a { word-wrap:break-word; color:#f00;}
a:hover { opacity:0.8;}

p,
ul,
ol { margin-bottom:1.5em;}

p:last-child,
ul:last-child,
ol:last-child { margin-bottom:0;}



/* WPツールバー */
#wpadminbar { opacity:0.3; filter:alpha(opacity=30);}

/* PC */
@media screen and (min-width: 768px) {
	.wrapper {
		display:block;
		width:1000px;
		margin-right:auto; margin-left:auto;
	}

	body > .wrapper { padding-top:120px;}
}

/* SP */
@media screen and (max-width: 767px) {
	.wrapper {
		display:block;
		width:93.75%;
		margin-right:auto; margin-left:auto;
	}

	img { max-width:100%;}

	body > .wrapper { padding-top:90px;}
}



/* header
===========================================================*/
header {
	width: 100%;
	position: fixed; top: 0; left: 0;
	z-index: 9997;
	background:#fff;
}

header .wrapper {
	display:flex;
	flex-wrap:wrap; justify-content:space-between; align-items:flex-start;
}

header .__area2 {
	
}

header .__area2 p { margin-bottom:0;/*font-family: 'PT Serif', serif;*/}



/* PC */
@media screen and (min-width: 768px) {
	header { height:120px;}

	header .__area1 { padding-top:20px;}

	header .__area1 a { display:block;}

	header .__logo { width:160px;}

	header .__tel_area {
		display:flex;
		flex-wrap:wrap; justify-content:space-between; align-items:flex-start;
	}
	
	header .__tel_area .__block { margin-right: 20px;}

	header .__tel {
		font-size:28px;
		line-height:1.2;
	}

	header .__hours { font-size:13px;}

	header .__hours a { margin-left:15px;}

	header .btn_type01 {
		width:110px;
		padding:15px 10px;
		border-radius:0;
	}
	
	header .__calender {
		display:flex;
		justify-content:flex-end; align-items:center;
	}

	header .__calender a:last-child { margin-left: 20px;}
}

/* SP */
@media screen and (max-width: 767px) {
	header { background: #E7E7E9;}

	header .wrapper {
		width:100%;
		align-items:stretch;
	}

	header .__logo {
		height:40px;
		margin-left: 11px;
		width: 110px;
	}

	header .__ico {
		display:block;
		width: 24px;
		height: 24px;
		padding: 8px;
		font-size: 24px;
		line-height: 24px;
		text-align: center;
		vertical-align: middle;
		color: #000;
	}

	header .__ico.__menu {
		background:#000;
		color:#fff;
	}

	header .__area2 .btn_type01 {
		width:96%;
        height:20px;
		position:absolute; left:0; bottom:-40px;
		padding:10px 2%;
		text-align:center;
        border-radius: 0;
	}
}



/* nav
===========================================================*/
.header .nav {
	position: fixed; left:0; top: 75px;
    width: 100%;
	z-index: 9998;
}

.header .nav a {
	display:block;
	text-decoration:none;
	color:inherit;
}

/* PC */
@media screen and (min-width: 768px) {

	.header .nav ul {
		display:flex;
		flex-wrap:wrap; justify-content:space-between; align-items:stretch;
		margin-left:300px;
	}


	.header .nav li {
		flex:1;
		padding: 0 4px;
		text-align:center;
		line-height:1.2;
		box-sizing: border-box;
		font-size: 13px;
	}


	.header .nav li:last-child { border-right:solid 1px #ccc;}


}

/* SP */
@media screen and (max-width: 767px) {
	#nav {
	  position: fixed;
	  top: 0;
	  left: auto;
	  right: -80%;
	  bottom: 0;
	  width: 80%;
	  height: 100%;
	  background: #666460;
	  overflow-y: auto;
	  -webkit-overflow-scrolling: touch;
	  box-shadow: 10px 0 20px rgba(0, 0, 0, 0.25) inset;
	  z-index: 9999;
	  transition: right 0.25s;
	}

	#nav ul li a {
	  display: block;
	  font-size: 13px;
	  line-height: 20px;
	  padding: 9px 20px;
	  color: #FFF;
	  border-top: rgba(255, 255, 255, 0.25) 1px solid;
	  border-bottom: rgba(0, 0, 0, 0.25) 1px solid;
	}

	/* js動作のための記述 */
	#nav.show-nav {
	  right: 0;
	}

	#nav .wrap {
	  width: 100%;
	}

	#main.show-nav,
	#footer.show-nav {
		position: relative;
		right: 80%;
	}

	#header.show-nav { right: 80%; left:auto;}
}



/* .container
===========================================================*/
.container { }

/* PC */
@media screen and (min-width: 768px) {
	.container {
		display:flex;
		flex-wrap:wrap; justify-content:space-between; align-items:stretch;
		padding-bottom:50px;
	}
}


/* main
=======================================*/
/* PC */
@media screen and (min-width: 768px) {
	main {
		width:650px;
	}
	main.onecolumn {
		width:100%;
	}
}

/* SP */
@media screen and (max-width: 767px) {
	main {
		margin-bottom:40px;
	}
}



/* side
===========================================================*/
.side .__title {
	padding:8px;
	background:#000;
	color:#fff;
}

.side .__news li { border-bottom:#C8C8C8 1px solid;}

.side .__news a {
	display:flex;
	flex-wrap:wrap; justify-content:space-between; align-items:center;
	padding-top:5px; padding-bottom:5px;
	text-decoration:none;
	color:inherit;
	font-size:13px;
	line-height:1.5;
}

.side .__news .__text {
	margin-right:5px;
	flex:1;
}

.side .__news .__text h3 { margin-top:5px; margin-bottom:3px;}

.side .__news .__more {
	padding-left:12px;
	position:relative;
}

.side .__news .__more:before {
	content:'';
	width:0; height:0;
	border-top:4px solid transparent;
	border-right:0 solid transparent;
	border-bottom:4px solid transparent;
	border-left:4px solid #333;
	position:absolute; left:0; top:50%;
	margin-top:-3px;
}

.side .__news .__thumb img { width:70px; height:auto;}

.side .__bnrs a { display:block;}
.side .__bnrs a img { max-width: 100%; height: auto;}

/* PC */
@media screen and (min-width: 768px) {
	.side { width:300px;}

	.side .__news { margin-bottom:50px;}

	.side .__title { font-size:24px;}

	.side .__bnrs a { margin-bottom:20px;}

}

/* SP */
@media screen and (max-width: 767px) {
	.side .__bnrs { margin-right:20px; margin-bottom:20px; margin-left:20px;}

	.side .__bnrs a { margin-bottom:10px;}

	.side .__title { font-size:18px;}

	.side .__news { margin-bottom:20px;}
}




/* footer
===========================================================*/
footer {
	background:#000;
	color:#fff;
}

footer .__area1 h1 a,
footer .__area1 .__tel a,
footer .__fnav a {
	display:block;
	color:#fff;
	text-decoration:none;
}

footer .__area1,
footer .__area2 { font-family:"メイリオ","Meiryo","ＭＳ Ｐゴシック","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",sans-serif;}

footer .__area1 h1 {
	font-weight:normal;
	margin-bottom:20px;
}

footer .__area1 p { margin-bottom:0;}

footer .__area1 .__hours { font-size:13px;}

footer .__area1 .__link a {
	display:inline-block;
	width:180px;
	padding:5px 10px 3px;
	border-radius:6px;
	font-size:13px;
	text-align:center;
}

/* PC */
@media screen and (min-width: 768px) {
	footer .wrapper {
		display:flex;
		flex-wrap:wrap; justify-content:space-between; align-items:flex-start;
		position:relative;
		padding-top:30px;
	}

	/* .__area1 */
	footer .__area1 { width:300px;}

	footer .__area1 h1 { font-size:23px;}

	footer .__area1 .__tel { font-size:28px;}


	/* .__fnav */
	footer .__fnav {
		width:700px;
		position:absolute; top:30px; right:0;
	}

	footer .__fnav ul {
		display:flex;
		flex-wrap:wrap; justify-content:space-between; align-items:flex-start;
	}

	footer .__fnav li {
		flex:1;
		line-height:1.2;
		border-left:1px solid #eee;
		text-align:center;
	}

	footer .__fnav li:last-child { border-right:1px solid #fff;}


	/* .__area2 */
	footer .__area2 {
		width:700px;
		padding-top:110px;
	}

	footer .__area2 p { margin-bottom:5px;}
}

/* SP */
@media screen and (max-width: 767px) {
	footer .__area1 {
		text-align:center;
		padding-top:30px; padding-bottom:30px;
	}

	footer .__area1 h1 { font-size:20px;}

	footer .__area1 .__title { margin-bottom:5px;}

	footer .__area1 .__tel a {
		display:inline-block;
		width:180px;
		padding:5px 10px 3px;
		border-radius:6px;
		font-size:13px;
		text-align:center;
		text-decoration:none;
		background:#f00;
		color:#fff;
	}

	footer .__area1 .__hours { margin-top:5px; margin-bottom:10px;}

	footer .__area2 {
		margin-right:20px; margin-bottom:20px; margin-left:20px;
		font-size:13px;
	}

	footer .__area2 span { display:inline-block;}

	footer .__area2 .__name { display:block;}

	footer .__area2 .__address { margin-right:1em;}

	footer .__fnav { margin-right:-10px; margin-left:-10px;}

	footer .__fnav li { border-top:1px solid #fff; width: 100% !important;}

	footer .__fnav li a {
		padding:10px;
		text-align:center;
	}
}


/* copyr
=======================================*/
.copyr {
	height:18px;
	padding:12px 10px 10px;
	font-size:10px;
	text-align:center;
	background:#fff;
	color:#000;
}

/* PC */
@media screen and (min-width: 768px) {
.copyr {
	margin-top:28px;
	text-align:center;
}
}

/* SP */
@media screen and (max-width: 767px) {
.copyr {
	text-align:left;
	margin-bottom: 100px;
}

}
