@charset "utf-8";

/*----------------------------------------------------
 elements
----------------------------------------------------*/
body {
	color: #333;
	font-family: ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, sans-serif;
	font-size: 14px;
	line-height: 1.5;
	background:#FFF;
}

a { color: #666; text-decoration: none; }
/* a:visited { text-decoration: none; } */
img { vertical-align: top; }
img:not([width]) { zoom: 0.5; /* Retinaディスプレイ対応のためimg要素は半分の大きさに */ }
p, dl, ol, ul { }
ol, ul { list-style:none; }
/* --------------------------------------------------- */
/* wrapper */
/* ---------------------------------------------------- */
#wrapper {
	overflow: hidden;
	margin: 0 auto;
}
/* ---------------------------------------------------- */
/* ランドスケープ表示 */
/* ---------------------------------------------------- */
@media all and (orientation:landscape) { #wrapper { width: 100%; } }
/* ---------------------------------------------------- */
/* header */
/* ---------------------------------------------------- */
h1.head {
	color:#cfcfcf;
	line-height:17px;
	font-size:10px;
	padding:4px 10px 7px;
	text-align:left;
}
#header {
	overflow:hidden;
	margin:0px; padding:0px 10px 0px;
	border-top: 5px solid #E6E6E6;
	background:url(../images/common/header_bg.jpg) top repeat-x;
	background-size: auto 98px;
	-webkit-background-size: auto 98px;
	-moz-background-size: auto 98px;
}
/* 角丸 */
/* border-radius: 10px;			/* CSS3草案 */
/* -moz-border-radius: 10px;		/* Firefox用 */
/* -webkit-border-radius: 10px;	/* Safari,Google Chrome用 */

/* 下影 */
/* box-shadow:rgba(0, 0, 0, 0.4) 0px 5px 10px 0px; */
/* -webkit-box-shadow:rgba(0, 0, 0, 0.4) 0px 5px 10px 0px; */
/* -moz-box-shadow:rgba(0, 0, 0, 0.4) 0px 5px 10px 0px; */

/* 透過 */
/* background-color: rgba(173,139,98,0.2); */

/* グラデーション */
/* background: -moz-linear-gradient(top, #F00, #FFF); /* Firefox用 */
/* background: -webkit-gradient(linear, left top, left bottom, from(#F00), to(#FFF)); /* Safari,Google Chrome用 */

/* ---------------------------------------------------- */
/* visual */
/* ---------------------------------------------------- */
#visual { text-align:center; }
/* ---------------------------------------------------- */
/* footer */
/* ---------------------------------------------------- */
footer{ margin:30px 0px 0px; font-size:12px; }

ul.fsp2 { overflow:hidden; margin:10px 5px}
ul.fsp2 li{
	float:left;
	width:48%;
	background: -moz-linear-gradient(top, #5fc3f5, #398fe2); /* Firefox用 */
	background: -webkit-gradient(linear, left top, left bottom, from(#5fc3f5), to(#398fe2)); /* Safari,Google Chrome用 */
	border:1px solid #1173ce;
	border-radius: 10px;			/* CSS3草案 */
	-moz-border-radius: 10px;		/* Firefox用 */
	-webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
}
ul.fsp2 a{ display:block; padding:10px; font-size:16px; font-weight:bold; text-align:center; color:#FFF; }
ul.fsp2 li:nth-child(2){ float:right; }
	
	
ul.f_nav {
	overflow:hidden;
	margin:20px 5px;
	background:#5fc3f5;
	border:1px solid #398fe2;
	border-radius: 10px;			/* CSS3草案 */
	-moz-border-radius: 10px;		/* Firefox用 */
	-webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
}
ul.f_nav li{
	float:left;
	width:50%;
	box-sizing:border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	border-right:1px solid #398fe2;
	border-bottom:1px solid #398fe2;
	background:url(../images/common/arrow01.png) right center no-repeat;
	background-size: auto 22px;
	-webkit-background-size: auto 22px;
	-moz-background-size: auto 22px;
}
ul.f_nav li a{ display:block; padding:8px; font-weight:bold; color:#FFF; }
ul.f_nav li:nth-child(2n){ border-right:none; }
ul.f_nav li:nth-last-child(1),
ul.f_nav li:nth-last-child(2){ border-bottom:none; }

#f_info { padding:10px 20px; color:#454545; background:url(../images/common/bg02.jpg) repeat;  }
#f_info p{ margin-bottom:5px; }
#f_info a{ text-decoration:underline; }

footer ul.under {
	overflow:hidden;
	margin-top:10px;
	background:#E9E9E9;
	border-bottom:1px solid #FFF;
}
footer ul.under li{
	float:left;
	width:50%;
	border-right:1px solid #FFF;
	margin-right:-1px;
}
footer ul.under li a{ display:block; text-align:center; line-height:30px; }
footer ul.under li:nth-child(2){ border:none; margin:0px; }

footer small { display: block; background:#DADADA; padding:10px 5px; }
footer small#copy{ text-align:left; font-size: 10px; }
footer small#copy a{ text-decoration:underline; }
/* ---------------------------------------------------- */
/* content */
/* ---------------------------------------------------- */
.overf_h { overflow:hidden; }
.clear { clear:both; }
	
.left{ float:left; }
.right{ float:right; }
.textcenter{ text-align: center; }
.textright{ text-align: right; }
.textleft{ text-align: left; }
.text { overflow:hidden; zoom:1; }
	
/* ---------------------------------------------------- */
/* ▼各ページCSS */
/* ---------------------------------------------------- */
.h3_01 { background:url(../images/top/h3_01.gif) top -1px left no-repeat; }
.h3_02 { background:url(../images/top/h3_02.gif) top -1px left no-repeat; }
.h3_01,.h3_02 {
	height:38px;
	background-size: auto 40px;
	-webkit-background-size: auto 40px;
	-moz-background-size: auto 40px;
	border:1px solid #1775CE;
}
/* ごあいさつ */
.greeting { background:url(../images/common/bg01.png) repeat; padding:10px; margin-bottom:20px; }
.greeting span {
	display:block;
	background:#FFF;
	box-shadow:rgba(0, 0, 0, 0.1) 0px 1px 5px 5px;
	-moz-box-shadow:rgba(0, 0, 0, 0.1) 0px 1px 5px 5px;
	-webkit-box-shadow:rgba(0, 0, 0, 0.1) 0px 1px 5px 5px;
	padding:10px;
}

/* 新着情報 */
.news { padding-bottom:20px; border-bottom:1px dotted #CCC; margin-bottom:30px; }
#top_news dl { overflow:hidden; border-bottom: 1px dotted #CCC; margin-bottom:10px; }
#top_news dl a{ display:block; padding-bottom:8px; }
#top_news dl dt{ float:left; padding-left:5px; padding-right:10px; color:#439aed; }
#top_news dl dd{ overflow:hidden; zoom:1; }

#top_news .news_list {
	padding: 20px 10px;
	border: solid 1px #ccc;
	box-sizing: border-box;
}

#top_news .news_list_item {
	margin-bottom: 10px;
	padding-bottom: 2px;
	border-bottom: dotted 1px #ccc;
}

#top_news .news_list_item:last-child {
	margin-bottom: 0;
}

#top_news .news_list_item .date {
	display: block;
	width: 100%;
}

#top_news .news_list_item .news_item_heading {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.section {
	margin-bottom: 15px;
}

.section:last-of-type {
	margin-bottom: 0;
}

.section .heading-news-item {
	margin-bottom: 8px;
    padding: 10px 10px 10px 30px;
    line-height: 1.2;
    font-weight: 600;
    font-size: 16px;
    color: #fff;
    background: url(../images/common/heading_decoration_arrow.png) center left 10px no-repeat #1775ce;
}

.section .description {
	margin-bottom: 10px;
}


/* QA */
.q {
	font-size:16px;
	line-height:20px;
	margin:0px 0px 5px 0px;
	padding:0px 10px 5px 40px;
	background:url(../images/qa/q.jpg) left 10px top no-repeat;
	background-size:20px;
	-moz-background-size:20px;
	-webkit-background-size:20px;
	border-bottom:1px solid #ccc;
}
.a {
	margin:0px 0px 20px 0px;
	padding:0px 10px 15px 40px;
	background:url(../images/qa/a.jpg) left 10px top no-repeat;
	background-size:20px;
	-moz-background-size:20px;
	-webkit-background-size:20px;
	border-bottom:1px dotted #ccc;
}
/* -- -- */
.need { border:4px solid #f5f3e4; padding:2px; background:#FFF; margin-bottom:20px; }
.need .content{
	margin:0px; padding:10px; background:url(../images/need/bg.jpg) repeat;
	background-size:100% auto;
	-moz-background-size:100% auto;
	-webkit-background-size:100% auto;
}
.need .content p{ padding:10px; background:#FFF; }
	
	

/* -- -- */
.cont { background:#F5F5F5; padding:10px; margin:0px 0px 10px; overflow:hidden; }
.cont h4 { color:#14246D; font-weight:bold; margin-bottom:5px; }
.cont h4 span{ display:inline-block; background:#14246D; color:#FFF; padding:0px 3px; margin-right:5px; }
.cont .right{ width:40%; margin:0px 0px 10px 10px; }

.f_btn{ margin:20px 5px; }
.f_btn,.btn {
	text-align:center;
	border-radius: 10px;			/* CSS3草案 */
	-moz-border-radius: 10px;		/* Firefox用 */
	-webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
	background: -moz-linear-gradient(top, #5fc3f5, #398fe2); /* Firefox用 */
	background: -webkit-gradient(linear, left top, left bottom, from(#5fc3f5), to(#398fe2)); /* Safari,Google Chrome用 */
	border:1px solid #1173ce;
}
.f_btn a,.btn a{
	display:block;
	font-size:16px;
	line-height:20px;
	font-weight:bold;
	color:#FFF;
	padding:15px 0px 10px;
}

.overf_h .left { width:25%; margin:0px 10px 10px 0px; }
.overf_h p { display:block; overflow:hidden; zoom:1; }
.beforeafter { overflow:hidden; background:url(../images/common/icon01.png) no-repeat center center; margin-top:10px; }
.before { float:left; width:45%; }
.after { float:right; width:45%; }


/* ---------------------------------------------------- */
/* ▲各ページCSS */
/* ---------------------------------------------------- */
/* Facebook Like Box width: 100% */
.facebook { padding: 5px; }
/* google map margin size */
.map{
	text-align:center;
	margin: 10px 20px 30px 20px;
}
/* ページネーション */
.pagination { position:relative;  clear:both; padding:20px 0; font-size:11px; line-height:13px; }
.pagination span, .pagination a { color:#fff; background: #555555; padding:6px 9px 5px 9px; margin: 2px 2px 2px 0; display:block; float:left; width:auto; text-decoration:none; }
.pagination a:hover{ color:#fff; background: #60A62A; }
.pagination .current{ color:#fff; background: #60A62A; padding:6px 9px 5px 9px; }

/* -- ▼ サイトマップ -- */
ul.sitemap { margin:20px 0px; border-bottom:1px dotted #CCC; }
ul.sitemap li{
	border-top:1px dotted #CCC;
	background:url(../images/common/arrow-next.jpg)right 5px center no-repeat;
	background-size:30px auto;
	-webkit-background-size:30px auto;
	-moz-background-size:30px auto;
}
ul.sitemap li a{ color: #666; font-weight:normal; display:block; padding: 10px 40px 10px 10px; }

/* -- ▼ コンテンツ -- */
.main_content { margin:0px 10px; }
.content {
	overflow:hidden;
	padding:10px 10px;
	/* background:#FFF;
	border:1px solid #CCC;
	border-top:none;
	box-sizing:border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	border-radius: 0px 0px 5px 5px;
	-moz-border-radius: 0px 0px 5px 5px;
	-webkit-border-radius: 0px 0px 5px 5px; */
}
	
/* -- ▼ 2列リスト -- */
ul.sp2 { overflow:hidden; margin:0px; }
ul.sp2 li{ float:left; width:48%; margin-bottom:10px }
ul.sp2 li:nth-child(2n){ float:right; }
/* -- ▼ 3列リスト -- */
ul.sp3{
	font-size:12px;
	color:#000;
	padding: 0px 0px 0px 1px;
	margin:10px 0px;
	overflow: hidden;
}
ul.sp3 li{
	width:32%;
	float:left;
	color:#000;
	margin-right:2%;
	margin-bottom:5px;
	overflow:hidden;
}
ul.sp3 li:nth-child(3n){ margin-right:0px; }
/* -- ▼ 1列のリンクリスト -- */
.link_list { border-bottom:1px dotted #666; }
.link_list li{ background:url(../images/common/arw.gif) no-repeat left center; border-top:1px dotted #666; }
.link_list li a{ display:block; padding: 5px 0px 5px 17px; color:#666; }

/* -- ▼ ボタン -- */
.btn01 {
	display:block;
	padding:10px 0px;
	text-align:center;
	font-size:16px;
	line-height:19px;
	color:#FFF;
	background:#FC9E9C;
	border-radius: 10px;			/* CSS3草案 */
	-moz-border-radius: 10px;		/* Firefox用 */
	-webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
}
/* -- ▼共通テーブル -- */
table.table { width:100%; margin:10px 0px 20px; /* border-collapse:separate; border-spacing:2px; */ }
table.table tr{ }
table.table th{ border:1px solid #ccc; padding:5px ; text-align:left; vertical-align:middle; font-weight: normal; width:35%; background:#F5F5F5; }
table.table td{ border:1px solid #ccc; padding:5px ; text-align:left; vertical-align:middle; }

.wp_content table { width:100%; margin: 10px 0px 20px; }
.wp_content table tr{ background:url(../images/common/line2px.gif)bottom repeat-x; color:#483D28; }
.wp_content table td{ border:1px solid #ccc; min-width:20px; padding:5px; text-align:left; vertical-align:middle; }


.contact-table-wrap table.table th {
	width: 100%;
	border-top: none;
	box-sizing: border-box;
}

.contact-table-wrap table.table tr:first-of-type th {
	border-top: solid 1px #ccc;
}

.contact-table-wrap table.table td {
	border-top: none;
}

/* -- -- */
.page_top { text-align:right; text-decoration:underline; }

.h3 { border:1px solid #1775CE; width:100%; background: -moz-linear-gradient(top, #FFF, #f5f5f5); /* Firefox用 */ background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#f5f5f5)); /* Safari,Google Chrome用 */ }
.h3 td { padding:10px 10px 8px; font-size:16px; font-weight:bold; line-height:20px; color:#1775CE; }
.h3 th { width:18px; text-align:center; vertical-align:middle; background: -moz-linear-gradient(top, #1776cf, #0f66b8); /* Firefox用 */ background: -webkit-gradient(linear, left top, left bottom, from(#1776cf), to(#0f66b8)); /* Safari,Google Chrome用 */ }

.h4 {
	font-size:14px;
	line-height:18px;
	color:#00498E;
	font-weight:bold;
	padding:0px 0px 0px 5px;
	border-left:5px solid #CCC;
}
.h4 span{ }

.h5 {
	width:80%;
	margin: 5px auto 20px;
	padding:6px 0px;
	background:#F2BF99;
	color:#9F553B;
	font-size:14px;
	font-weight:bold;
	text-align:center;
}

/* -- -- */
.images img{ background:; border:1px solid #CCC; padding:2px; margin-bottom:5px; }
.underline { text-decoration: underline; }
.bold { font-weight:bold; }
.mr10 { margin-right: 10px; }
.ml10 { margin-left: 10px; }
b { font-weight:bold; }
/* ---------------------------------------------------- */
/* detail */
/* ---------------------------------------------------- */
@media only screen and (orientation : portrait) {
	/*縦向き*/
	#visual { margin-bottom:30px; }
	.mt5 { margin-top: 5px;  }
	.mt10{ margin-top: 10px; }
	.mt20{ margin-top: 20px; }
	.mt30{ margin-top: 30px; }
	.mt40{ margin-top: 40px; }
	.mt50{ margin-top: 50px; }
	
	.pt5 { padding-top: 5px; }
	.pt10{ padding-top: 10px; }
	.pt20{ padding-top: 20px; }
	.pt30{ padding-top: 30px; }
	.pt40{ padding-top: 40px; }
	.pt50{ padding-top: 50px; }
	
	.mb5 { margin-bottom: 5px;  }
	.mb10{ margin-bottom: 10px; }
	.mb20{ margin-bottom: 20px; }
	.mb30{ margin-bottom: 30px; }
	.mb40{ margin-bottom: 40px; }
	.mb50{ margin-bottom: 50px; }
	
	.pb5 { padding-bottom: 5px; }
	.pb10{ padding-bottom: 10px;}
	.pb20{ padding-bottom: 20px;}
	.pb30{ padding-bottom: 30px;}
	.pb40{ padding-bottom: 40px;}
	.pb50{ padding-bottom: 50px;}
}
@media only screen and (orientation : landscape) {
	/*横向き*/
	#visual { margin-bottom:60px; }
	
	.mt5 { margin-top: 10px;  }
	.mt10{ margin-top: 20px; }
	.mt20{ margin-top: 40px; }
	.mt30{ margin-top: 60px; }
	.mt40{ margin-top: 80px; }
	.mt50{ margin-top: 100px; }
	
	.pt5 { padding-top: 10px; }
	.pt10{ padding-top: 20px; }
	.pt20{ padding-top: 40px; }
	.pt30{ padding-top: 60px; }
	.pt40{ padding-top: 80px; }
	.pt50{ padding-top: 100px; }
	
	.mb5 { margin-bottom: 10px;  }
	.mb10{ margin-bottom: 20px; }
	.mb20{ margin-bottom: 40px; }
	.mb30{ margin-bottom: 60px; }
	.mb40{ margin-bottom: 80px; }
	.mb50{ margin-bottom: 100px; }
	
	.pb5 { padding-bottom: 10px; }
	.pb10{ padding-bottom: 20px;}
	.pb20{ padding-bottom: 40px;}
	.pb30{ padding-bottom: 60px;}
	.pb40{ padding-bottom: 80px;}
	.pb50{ padding-bottom: 100px;}
}


/* SNSシェアボタン
------------------------- */
.share-btn-list {
	margin: 0 0 16px;
	text-align: right;
	font-size: 0;
	letter-spacing: 0;
	overflow: hidden;
}

.share-btn-list li {
	margin: 0 0 0 8px;
	vertical-align: top;
	display: inline-block;
}

/* 詳細ページ用　前後の記事
------------------------- */
.prev-next-post {
	display: flex;
	justify-content: space-between;
}

.prev-next-post div {
	width: calc(50% - 4px);
}

.prev-next-post a {
	padding: 0 20px;
	line-height: 96px;
	border: 1px solid #e6e6e6;
	text-overflow: ellipsis;
	white-space: nowrap;
	display: block;
	overflow: hidden;
}

.prev-next-post .prev-post a {
	padding-left: 47px;
	background: url(../images/common/icon_arrow02.png) left 20px center no-repeat;
}

.prev-next-post .next-post a {
	padding-right: 47px;
	background: url(../images/common/icon_arrow01.png) right 20px center no-repeat;
}

.prev-next-post a:hover {
	text-decoration: none;
	background-color: #fafafa;
}

/* テキストボタン */
.text-btn {
	margin-top: 16px;
	text-align: right;
}
.text-btn a {
	width: 120px;
	line-height: 45px;
	text-align: center;
	color: #fff;
	background: url(../images/common/icon_arrow01_white.png) right 16px center no-repeat #54a2dc;
	display: inline-block;
}

.text-btn a:hover {
	color: #fff;
	text-decoration: none;
	background-color: #d02d2d;
}
