@charset "utf-8";

/*===============================================
●共通
===============================================*/
body {
	color:#000;
	background-color:#ffffff;
	box-sizing:border-box;
	font-size:87.5%; /* 1em=14pxに設定 */
	overflow-x: hidden;
}
body,
th,
td {
	font-family:"メイリオ", Meiryo, Arial, Helvetica, "MS UI Gothic", "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
	line-height:1.3em;
}
p {
	text-align:justify;
	text-justify:distribute;
}
img {
	width:100%;
	max-width:100%;
	height:auto;
	vertical-align:middle;
	-ms-interpolation-mode:bicubic; 
}
a:link { color:#000;}
a:visited { color:#000;}
a:hover {
	color:#666;
	text-decoration:none;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
a:active { color:#000;}
a:hover img {
	filter:alpha(opacity=8);
	-moz-opacity: 0.8;
	opacity: 0.8;
}

/* bodyWrapper
---------------------------------------- */
#bodyWrapper {
	position:relative;
	box-sizing:border-box;
}

/* container
---------------------------------------- */
/* mainTitle */
#mainTitle {
	border-bottom:#e60012 1px solid;
	background-size:cover!important;
}

/* title */
.tit01 {
	border-bottom:#e60012 1px solid;
}
.tit01 h2 {
	color:#e60012;
	line-height:1.3em;
	text-align:center;
	font-family:"NewCezannePro-DB{pm}";
}
.tit01 h2 span {
	display:inline-block;
	font-size:1.86em;
	line-height:1.3em;
	padding:0 1em;
}
.tit01 p {
	font-size:1.15em;
	text-align:center;
	font-family: 'Lato', sans-serif;
}
.tit02 {
	position:relative;
}
.tit02:after {
	content:"";
	display:block;
	width:2em;
	height:2px;
	background-color:#000;
	position:absolute;
	bottom:0;
	left:0;
}
.tit02 h3 {
	color:#e60012;
	font-family:"NewCezannePro-DB";
}
.tit02 h3 span {
	display:inline-block;
	color:#000;
}
.tit02 p {
	color:#aaa;
	font-family: 'Lato', sans-serif;
}
.tit03 {
	position:relative;
	color:#e60012;
	line-height:1.4em;
	text-align:center;
	padding-bottom:0.7em;
	margin-bottom:0.7em;
	font-family:"NewCezannePro-DB";
}
.tit03:after {
	content:"";
	display:block;
	width:2em;
	height:2px;
	position:absolute;
	bottom:0;
	left:50%;
	margin-left:-1em;
	background-color:#000;
}

/* tableStyle01 */
.tableStyle01 th,
.tableStyle01 td {
	line-height:1.5em;
	padding:1em 0;
	border-bottom:#aaa 1px dashed;
}
.tableStyle01 th {
	color:#e60012;
	white-space:nowrap;
	font-weight:bold;
	vertical-align:top;
}
.tableStyle01 caption {
	font-weight:bold;
}

/* contactBox
---------------------------------------- */
#contactBox h3 {
	line-height:1.7em;
	font-family: 'Lato', sans-serif;
}
#contactBox #contactTel .icon-phone {
	color:#a51520;
	font-size:1.8em;
	margin-right:0.3em;
}
#contactBox #contactTel .tel {
	display:inline-block;
	font-size:2.7em;
	color:#e60012;
	font-weight:bold;
	line-height:1.2em;
	font-family: 'Lato', sans-serif;
}

/* pageTop
---------------------------------------- */
#pageTop {
	width:40px;
	height:40px;
	position:fixed;
	bottom:10px;
	right:10px;
	z-index:5;
}

/* footer
---------------------------------------- */
#footer {
	border-top:#e60012;
	background-color:#efefef;
}

#copy {
	color:#fff;
	font-size:0.85em;
	line-height:3em;
	text-align:center;
	background-color:#000;
}

/* topics
---------------------------------------- */
#TopicsList {
	margin-bottom : 2em;
}
#TopicsList ul {
	list-style : none;
	padding-left : 0;
}
#TopicsList ul li {
	border-bottom: 2px dotted;
	padding: 20px 0;
}
#TopicsList ul li:first-child {
	border-top : 2px dotted;
}
#TopicsList ul li a {
	color : #000000;
	text-decoration : none;
	width: 100%;
	display: block;
}
#TopicsList a:hover {
	color:#e60012;
}
#TopicsList a span {
	display: inline-block;
	vertical-align: top;
	padding: 2px 0;
}
#TopicsList time {
	display: inline-block;
	vertical-align: top;
	margin : 0px 15px 0 10px;
	padding: 2px 0;
	color:#e60012;
	font-weight:500;
}
#TopicsList h1 {
	font-weight:bold;
	color: #000000;
	padding : 0 0 10px 0;
	margin : 20px 0;
	font-size : 20px;
	border-bottom : 1px solid #e60012;
}
.topics .cat {
	width: 7em;
	color : #fff;
	padding : 2px 7px;
	overflow: hidden;
	text-align: center;
	vertical-align: bottom;
	font-size: 0.85em;
}
/* カテゴリカラー */
.topics .category_all{ background : #e60012;}
.topics .category_1{ background : #2d0c8a;}
.topics .category_2{ background : #1a7e28;}
.topics .category_3{ background : #af5c2f;}
.topics .category_4{ background : #9c396a;}

/*===============================================
●画面の横幅が729px以下(スマホのみ)
===============================================*/
@media screen and (max-width: 729px){
	
	body {
		min-width:320px;
		-webkit-text-size-adjust: none;
		line-height:1.76em;
	}
	p {
		line-height:1.76em;
	}

	/* 共通
	---------------------------------------- */
	#roadnav,
	.spNone {
		display:none;
	}
	.inner {
		padding:0 20px;
	}
	
	/* mainTitle */
	#mainTitle {
		margin-bottom:1em;
	}
	#mainTitle h2 img {
		width:150px;
		padding:40px 0;
	}
	
	/* title */
	.tit01 {
		padding-bottom:1em;
		margin-bottom:1.5em;
	}
	.tit02 {
		padding-bottom:1em;
		margin-bottom:1.5em;
	}
	.tit02 h3 {
		font-size:1.28em;
		margin-bottom:0.3em;
	}
	.tit02 h3 span {
		display:block!important;
		font-size:0.7em;
		line-height:1.5em;
	}
	.tit03 {
		font-size:1.4em;
	}
	
	/* tableStale01 */
	.tableStyle01 th {
		width:5em;
	}
	
	/* header
	---------------------------------------- */
	#header {
		width:100%;
		position:fixed;
		box-sizing:border-box;
		border-bottom:#e60012 1px solid;
		background-color:#fff;
		z-index:1000;
	}
	#header .inner {
		height:45px;
		padding:0;
	}
	#header h1 {
		display:none;
	}
	#header #headerLogo {
		width:122px;
		height:30px;
		float:left;
		padding:7px 10px;
	}
	#header ul {
		width:139px;
		float:right;
	}
	#header ul li {
		width:45px;
		height:45px;
		float:left;
		margin-right:2px;
	}
	#header ul li a {
		display:block;
		width:45px;
		font-size:1.36em;
		text-align:center;
		line-height:45px;
	}
	#header #headerTel {
		color:#888;
		background-color:#e7e7e7;
	}
	#header #headerContact a {
		color:#fff;
		background-color:#e60012;
	}
	#header ul #menuBtn {
		margin-right:0;
	}
	#header ul li#menuBtn a {
		font-size:0;
	}
	
	/* mainMenu
	---------------------------------------- */
	#mainMenu {
		position:fixed;
		top:0;
		right:-60%;
		bottom:-70px;
		width:60%;
		background-color:#efefef;
		-moz-box-shadow: 12px 0px 6px -5px rgba(0, 0, 0, 0.1) inset;
		-webkit-box-shadow: 12px 0px 6px -5px rgba(0, 0, 0, 0.1) inset;
		-ms-box-shadow: 12px 0px 6px -5px rgba(0, 0, 0, 0.1) inset;
		box-shadow: 12px 0px 6px -5px rgba(0, 0, 0, 0.1) inset;
		z-index:1000;
		box-sizing:border-box;
	}
	#mainMenu .inner {
		padding:0;
	}
	#mainMenu h2 {
		height:45px;
		padding:0 10px;
		border-bottom:#aaa 1px solid;
		background-color:#fff;
	}
	#mainMenu h2 img {
		display:inline-block;
		width:122px;
		height:30px;
		padding:7px 0;
	}
	#mainMenu #menu01 li a {
		display:block;
		text-decoration:none;
		padding:10px 10px 10px 20px;
		border-bottom:#aaa 1px solid;
		background:url(../images/mainframe/arrow01.png) no-repeat 95% center;
		background-size:8px 12px;
		font-family:"NewCezannePro-DB";
	}
	#mainMenu #menu01 li a span {
		display:block;
		color:#e60012;
		font-size:10px;
		line-height:1.2em;
		font-family: 'Lato', sans-serif;
	}
	#mainMenu #menu02 li a {
		display:block;
		color:#555;
		font-size:12px;
		line-height:35px;
		padding-left:35px;
		text-decoration:none;
		background:url(../images/mainframe/icon01.png) no-repeat 20px 18px;
		background-size:10px 2px;
		font-family:"NewCezannePro-DB";
	}
	
	/* container
	---------------------------------------- */
	#container {
		padding-top:46px!important;
	}
	
	/* contactBox
	---------------------------------------- */
	#contactBox {
		padding:30px 0;
	}
	#contactBox h3 {
		font-size:1.7em;
	}
	#contactBox .fontCezanneM {
		margin-bottom:1.5em;
	}
	#contactBox #contactTel {
		text-align:center;
		margin-bottom:0.5em;
	}
	
	/* footer
	---------------------------------------- */
	#footer {
		padding:20px 0;
	}
	#footer h3 {
		width:50%;
		max-width:300px;
	}
	#TopicsList .articleTitle {
		width: 100%;
		display: block;
		margin-top: 0.5em;
	}
}


/*===============================================
●画面の横幅が730px以上(PCのみ)
===============================================*/
@media screen and (min-width: 730px){
	
	/* 全般
	---------------------------------------- */
	body {
		overflow-y:scroll;
		font-size:75%;
	}
	p {
		line-height:1.7em;
	}
	
	/* 共通
	---------------------------------------- */
	#header #headerLogo,
	#header #menuBtn,
	#mainMenu #menu02,
	#mainMenu #menu01 span,
	.pcNone {
		display:none!important;
	}
	.inner {
		width:100%;
		max-width:960px;
		padding:0 10px;
		margin:0 auto;
		box-sizing:border-box;
	}
	
	/* mainTitle */
	#mainTitle h2 img {
		height:50px;
		width:auto;
		padding:65px 0;
	}
	
	/* title */
	.tit01 {
		padding-bottom:1.7em;
		margin-bottom:2.5em;
	}
	.tit02 {
		padding-bottom:2em;
		margin-bottom:2.5em;
	}
	.tit02 h3 {
		font-size:1.57em;
		margin-bottom:0.3em;
	}
	.tit02 h3 span {
		font-size:0.65em;
		padding-left:1.5em;
	}
	.tit03 {
		font-size:1.7em;
	}
	/* tableStale01 */
	.tableStyle01 th {
		width:20%;
	}
	
	/* header
	---------------------------------------- */
	#header {
		background-color:#eee;
	}
	#header h1 {
		width:50%;
		font-size:0.85em;
		float:left;
		line-height:36px;
	}
	#header ul {
		width:50%;
	}
	#header ul li {
		float:left;
		line-height:36px;
	}
	#header #headerTel {
		width:60%;
	}
	#header #headerTel a {
		display:block;
		font-size:1.4em;
		padding-right:1em;
		text-align:right;
		text-decoration:none;
		font-family: 'Lato', sans-serif;
	}
	#header #headerTel a .icon-phone {
		margin-right:0.3em;
	}
	#header #headerContact {
		width:40%;
	}
	#header #headerContact a {
		display:block;
		font-size:1.28em;
		color:#fff!important;
		text-align:center;
		text-decoration:none;
		background-color:#e60012;
		font-family:"NewCezannePro-DB";
	}
	#header #headerContact a span {
		margin-right:0.3em;
	}
	
	/* mainMenu
	---------------------------------------- */
	#mainMenu {
		width:100%;
		top:0;
		left:0;
		padding:1em 0;
		border-bottom:#e60012 1px solid;
		background-color:#fff;
		z-index:10001;
	}
	#mainMenu h2 {
		width:20%;
		max-width:196px;
		float:left;
	}
	#mainMenu #menu01 {
		float:right;
		width:70%;
		padding-top:0.5em;
		display:table;
	}
	#mainMenu #menu01 li {
		width:25%;
		display:table-cell;
		vertical-align:middle;
		line-height:1.3em;
		text-align:center;
	}
	#mainMenu #menu01 li a {
		display:block;
		text-decoration:none;
		position:relative;
		padding:0 1.5em;
		white-space:nowrap;
	}
	#mainMenu #menu01 li a:before {
		content:"";
		display:block;
		width:1px;
		height:20px;
		position:absolute;
		top:50%;
		left:0;
		margin-top:-10px;
		background-color:#aaa;
	}
	#mainMenu #menu01 li:last-child a:after {
		content:"";
		display:block;
		width:1px;
		height:20px;
		position:absolute;
		top:50%;
		right:0;
		margin-top:-10px;
		background-color:#aaa;
	}
	
	/* container
	---------------------------------------- */
	/* mainTitle */
	#mainTitle {
		height:180px;
		background-size:cover!important;
	}
	
	/* roadnav */
	#roadnav {
		margin-bottom:2em;
	}
	#roadnav li {
		font-size:12px;
		line-height:30px;
		display:inline-block;
	}
	#roadnav li a {
		text-decoration:none;
		color:#e60012;
	}
	
	/* contactBox
	---------------------------------------- */
	#contactBox .inner {
		padding:4em 10px 5em;
		background:url(../images/mainframe/contact_image.jpg) no-repeat right bottom;
		background-size:12.8em auto;
	}
	#contactBox h3 {
		font-size:2.57em;
	}
	#contactBox .fontCezanneM {
		font-size:1.42em;
		margin-bottom:0.85em;
	}
	#contactBox .clearfix {
		padding-right:13em;
		box-sizing:border-box;
	}
	#contactBox #contactTel {
		width:46%;
		float:left;
	}
	#contactBox .btn01 {
		width:44%;
		float:left;
	}
	#contactBox .btn01 a {
		font-size:1.2em;
		padding:0.75em 0.85em 1em;
	}
	#contactTel .telLink {
		pointer-events:none;
	}
	
	/* footer
	---------------------------------------- */
	#footer {
		padding:1.85em 0 2.5em;
		border-top:#e60012 1px solid;
	}
	#footer .inner {
		display:table;
	}
	#footer h3 {
		width:12.7em;
		padding-right:4em;
		display:table-cell;
		vertical-align:bottom;
	}
	#footer ul {
		display:table-cell;
		font-size:0.92em;
	}
	#footer ul li {
		display:inline-block;
		line-height:1.8em;
		margin-right:1em;
	}
	#footer ul li a {
		text-decoration:none;
	}
	
	#TopicsList .articleTitle {
		max-width: calc( 100% - 15em );
	}
}

/*===============================================
●画面の横幅が860px以上(PCのみ)
===============================================*/
@media screen and (min-width: 860px){
	
	/* 全般
	---------------------------------------- */
	body {
		font-size:87.5%;
	}
}