@charset "UTF-8";

/* reset */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}
body {line-height:1;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
nav ul{list-style:none;}
blockquote, q{quotes:none;}
blockquote:before, blockquote:after,q:before, q:after { content:'';content:none;}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}
ins{background-color:#ff9;color:#000;text-decoration:none;}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold;}
del{text-decoration: line-through;}
abbr[title], dfn[title]{border-bottom:1px dotted;cursor:help;}
table{border-collapse:collapse;border-spacing:0;}
hr{display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0;}
input, select{vertical-align:middle;}


/*--------------------------------------
	基本スタイル
--------------------------------------*/
html {
	font-size: 62.5%;
}

body {
	height: 100%;
	color: #333;
	line-height: 1.6;
	min-width: 1070px;
	font-size: 1.4rem;
	letter-spacing: 0.02rem;
	margin: 0;
	
	-webkit-font-smoothing: antialiased;
	-webkit-moz-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}

body, textarea, input, pre {
	font-family: "游ゴシック", "Yu Gothic", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
	font-weight: 500;
}

*, *::before, *::after {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}

a { text-decoration: none; }

ul { margin: 0; padding: 0; }

p {
	margin: 0;
	padding: 0;
	font-size: 1.4rem;
	line-height: 1.4;
}

sup {
	vertical-align: super;
	font-size: small;
}

li {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	-webkit-backface-visibility: hidden;
}

.nblur {
	-webkit-backface-visibility: hidden;
}

h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; }

/*---------------------------
　debug
---------------------------*/
.debug {
}

.debug .disp {
	position: fixed;
	font-size: .8rem;
	width: 200px;
	height: 100px;
	background: #eee;
	bottom: 50px;
	
	z-index: 10000;
}


/*---------------------------
　トップページへのリンク
---------------------------*/
.topLink {
	position: fixed;
	width: 50px;
	height: 50px;
	background: rgba( 33, 33, 33, .6 );
	bottom: 20px;
	right: -50px;
	border-radius: 5px;
	cursor: pointer;
	z-index: 98;
}

.topLink span {
	display: block;
	position: absolute;
	font-size: 2.6rem;
	color: #fff;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	text-align: center;
}

.animeTopLink1 {
	animation: animeTopLink1 .6s forwards;
}

.animeTopLink2 {
	animation: animeTopLink2 .6s forwards;
}


@keyframes animeTopLink1 {
	0% {
		opacity: 0;
		transform: translateX(0);
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		-ms-transform: translateX(0);
	}
	
	100% {
		opacity: 1;
		transform: translateX(-70px);
		-webkit-transform: translateX(-70px);
		-moz-transform: translateX(-70px);
		-ms-transform: translateX(-70px);
	}
	
}


@keyframes animeTopLink2 {
	0% {
		opacity: 1;
		transform: translateX(-70px);
		-webkit-transform: translateX(-70px);
		-moz-transform: translateX(-70px);
		-ms-transform: translateX(-70px);
	}
	
	100% {
		opacity: 0;
		transform: translateX(0);
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		-ms-transform: translateX(0);
	}
	
}




/*---------------------------
　アイコン設定
---------------------------*/

/* 疑似要素設定 */
.iconfas *::before,
.iconfas *::after,
.iconfas_b *::before,
.iconfas_f *::after {
	font-family: "Font Awesome 5 Free";
}


/*---------------------------
　汎用アニメーション
---------------------------*/
/* beat */
@keyframes animeBeat {
	0% { filter: drop-shadow( 0 0 0 #000 ); }
	100% { filter: drop-shadow( 0 0 12px transparent ); }
}

/* fade in */
@keyframes animeFadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}


/*---------------------------
　マージン
---------------------------*/
.mb10 { margin-bottom: 10px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb50 { margin-bottom: 50px; }
.mb80 { margin-bottom: 80px; }

/*---------------------------
　画像の比率設定
---------------------------*/

/* 4:3 */
[class*="img-ratio"] {
	position: relative;
	display: block;
	width: 100%;
}

[class*="img-ratio"] img {
	position: absolute;
	width: 100%;
	height: auto;
	top: 0;
	left: 0;
}

[class*="img-ratio"]::before {
	content: "";
	display: block;
}

/* 4:3 */
.img-ratio01::before { padding-top: 75%; }

/* 16:9 */
.img-ratio02::before { padding-top: 56.25%; }


/*----------------------------
	コメントボックス
----------------------------*/
.commentBox p {
	font-size: 1.6rem;
}

.commentBox .mb {
	margin-bottom: 16px;
}

/* 自動マージン */
.commentBox.automb p:not(:last-child) {
	margin-bottom: 15px;
}


/*---------------------------
　その他
---------------------------*/
/* 表示,非表示 */
.chide { visibility: hidden; }
.cshow { visibility: visible; }


/* font */
.fset00 {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}

.fset01 {
	font-family: "游ゴシック", "Yu Gothic", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
}

.fset02 {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}


.fset03 {
	font-family: '小塚ゴシック Pro L', 'Kozuka Gothic Pro Light', sans-serif;
}

.fsetGoogle01 {
	font-family: 'Kosugi Maru', sans-serif;
	transform: rotate(0.001deg);
}

.fsetGoogle02 {
	font-family: 'Sawarabi Mincho', sans-serif;
	transform: rotate(0.001deg);
}

/* color */
.sr00 {
	color: #f22;
}

/* 改行 */
.pcbr { display: block; }
/* サイト個別デフォルト */

body {
}

/*---------------------------
　header
---------------------------*/
header {
	height: 171px;
}



/* タイトルとメニュー */
header .headerWrap {
	position: fixed;
	left: 0;
	right: 0;
	margin: 0 auto;
	background: #0681E8;
	z-index: 100;
}

header .headerWrap h1 {
	text-shadow: 1px 1px 3px #333;
}


/*---------------------------
　title
---------------------------*/
#siteTitle {
	width: 1050px;
	margin: 0 auto;
	padding: 0 10px;
}

#siteTitle h1 {
	color: #fff;
	font-size: 1.4rem;
	padding: 8px 0 4px 0;
	line-height: 1;
}

#siteTitle .wrap {
	position: relative;
	display: flex;
	justify-content: space-between;
	
	min-height: 100px;
	margin-bottom: 8px;
}

/* ロゴ */
#siteTitle .logo {
	width: 400px;
	height: 80px;
	margin: auto 50px auto 0;
}

/* box1 - 営業日など */
#siteTitle .wrap .box1 {
	position: relative;
	width: 220px;
	height: 100px;
	
	text-shadow: 1px 1px 3px #333;
	background: rgba( 30, 30, 100, .6 );
	padding: 5px 10px;
	
	border-radius: 8px;
}


#siteTitle .wrap .box1 h2 {
	color: #fff;
	font-size: 1.3rem;
}

#siteTitle .wrap .box1 p {
	font-size: 1.3rem;
	color: #fff;
	padding-left: 10px;
	line-height: 1.2;
}

#siteTitle .wrap .box1 .open {
	margin-bottom: 5px;
}

#siteTitle .wrap .box1 .open span {
	display: inline-block;
	width: 60px;
}


/* box2 - 連絡先やお問い合わせフォーム */
#siteTitle .wrap .box2 {
	position: relative;
	width: 300px;
	height: 100%;
}


/* 電話番号 */
#siteTitle .tel {
	position: relative;
	height: 47px;
	margin-bottom: 8px;
	color: #fff;
	border: 2px #fff solid;
	
	border-radius: 5px;
}

#siteTitle .tel p:first-child {
	position: absolute;
	font-size: 1.35rem;
	background: #0681E8;
	padding: 0 10px;
	top: -10px;
	left: 5px;
	text-shadow: 1px 1px 3px #333;
	z-index: 1;
}

#siteTitle .tel p:last-child {
	padding: 7px 0 7px 20px;
	font-size: 2.6rem;
	font-weight: bold;
	text-shadow: 2px 2px 3px #333;
}


#siteTitle .tel p:last-child::before {
	content: "\f2a0";
	font-size: 2.4rem;
	font-weight: bold;
	margin-right: 12px;
}



/* 問い合わせ */
#siteTitle .inq {
}

#siteTitle .inq a {
	position: relative;
	display: block;
	padding: 6.5px 0 6.5px 20px;
	border: 2px #fff solid;
	
	color: #fff;
	font-size: 1.8rem;
	background: -webkit-linear-gradient( top, #0050cf 0, #0050cf 50%, #003487 51%, #003487 100% );
	background: -moz-linear-gradient( top, #0050cf 0, #0050cf 50%, #003487 51%, #003487 100% );
	background: -ms-linear-gradient( top, #0050cf 0, #0050cf 50%, #003487 51%, #003487 100% );
	
	border-radius: 8px;
	text-shadow: 1px 1px 3px #333;
}

#siteTitle .inq a:hover {
	background: -webkit-linear-gradient( top, #82b2ff 0, #225fbf 100% );
	background: -moz-linear-gradient( top, #82b2ff 0, #225fbf 100% );
	background: -ms-linear-gradient( top, #82b2ff 0, #225fbf 100% );
}


#siteTitle .inq a::before {
	content: "\f0e0";
	font-weight: bold;
	font-size: 1.8rem;
	margin-right: 12px;
}




/*---------------------------
　navi
---------------------------*/
#navi {
	width: 100%;
	background: #fff;
	background: linear-gradient( to bottom, #fff 0, #fff 70%, #ccc 100% );
	box-shadow: 0px 2px 8px #444;

}


/* 親メニュー */
#navi .menu {
	display: flex;
	justify-content: space-between;
	width: 1050px;
	margin: 0 auto;

}


/* 各親メニュー */
#navi .menu > li {
	position: relative;
	width: 100%;

}

#navi .menu > li::before,
#navi .menu > li:last-child:after {
	position: absolute;
	content: "";
	width: 1px;
	height: 80%;
	background: linear-gradient( to bottom, transparent 0, #ccc 40%, #ccc 60%, transparent 100% );
	top: 50%;
	transform: translateY(-50%);
}

/* home */
#navi .menu > li:first-child {
	flex: 0 0 60px;
}

/* 最後の縦ライン */
#navi .menu > li:last-child:after {
	right: 0;
}

#navi .menu > li a,
#navi .menu > li div {
	display: block;
	text-align: center;
	padding: 12px 0;
	color: #000;
	cursor: pointer;
}

#navi .menu > li a:hover,
#navi .menu > li div:hover {
	color: #fff;
	background: #6a8218;
}

/* hoverの時 */
#navi .menu > li:hover > a,
#navi .menu > li:hover > div {
	color: #fff;
	background: linear-gradient( to bottom, #57a5ff 0, #0055b8 100% );
}



#navi .menu > li p.fas {
	display: block;
}

#navi .menu > li p {
	font-size: 1.6rem;
	line-height: 1.4;
	margin-bottom: 2px;
}

#navi .menu > li span {
	display: block;
	color: #e0b86d;
	line-height: 1;
	font-size: 1.1rem;
	font-weight: bold;
	font-family: Verdana, Geneva, sans-serif;
}


/* サブメニュー */
#navi .menu .subMenu {
	position: absolute;
	width: 100%;
	visibility: hidden;
	transition: .4s;
	
	box-shadow: 3px 3px 6px #333;
	transform: translateY(-50px);
	-webkit-transform: translateY(-50px);
	-moz-transform: translateY(-50px);
	-ms-transform: translateY(-50px);
	
	opacity: 0;
	z-index: -1;

}


#navi .menu > li:hover .subMenu {
	visibility: visible;
	transform: translateY(0);
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	-ms-transform: translateY(0);
	opacity: 1;
}

/* サブメニューの表示 */
#navi .menu li .subMenu li {
	background: #eee;
	left: 0;
}


#navi .menu li:hover .subMenu li {
	background: #eee;
	left: 0;
}



#navi .menu .subMenu p {
	margin: 0;
}

/* 各項目 */
#navi .menu .subMenu li {
	position: relative;
	border-bottom: 1px #ccc dotted;
}

#navi .menu .subMenu li:last-child {
	border: 0;
}

/* link */
#navi .menu .subMenu li a {
	display: block;
	font-size: .9rem;
	text-align: left;
	padding: 15px 0 15px 30px;
}

/* アイコン */
#navi .menu .subMenu li a::before {
	position: absolute;
	content: "";
	border-top: 5px transparent solid;
	border-left: 5px #f33 solid;
	border-bottom: 5px transparent solid;
	top: 50%;
	left: 15px;
	
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	
}



.naviWrap.fixedNavi {
	position: fixed;
	z-index: 100;
	top: 0;
}



/*---------------------------
　スマートフォンメニュー
---------------------------*/
#naviSp {
	display: none;
}

/*---------------------------
　breadcrumb
---------------------------*/
#breadcrumbList {
	width: 100%;
	background: #fff;
	margin-top: 34px;
}

/* 表示範囲 */
#breadcrumbList ul {
	position: relative;
	width: 1050px;
	margin: 0 auto;
	
	display: flex;
	display: -webkit-flex;
	
	overflow: hidden;
}

/* 各階層 */
#breadcrumbList ul li {
	position: relative;
	max-width: 300px;
	background: #0681E8;
	margin-right: 14px;
	left: 5px;
}
/* 2目以降 */
#breadcrumbList ul li:not(:nth-child(1)) {
	padding-left: 10px;
}

#breadcrumbList ul li::before,
#breadcrumbList ul li::after {
	position: absolute;
	content: "";
	top: 50%;
	transform: translateY(-50%);
}

/* 階層枠の後方 */
#breadcrumbList ul li:not(:first-child):before {
	border-top: 18px transparent solid;
	border-left: 14px #fff solid;
	border-bottom: 18px transparent solid;
	left: -1px;

}

/* 階層枠の前方 */
#breadcrumbList ul li::after {
	border-top: 18px transparent solid;
	border-left: 15px #0681E8 solid;
	border-bottom: 18px transparent solid;
	right: -14px;
	z-index: 1;
}

/* リンク */
#breadcrumbList ul li a {
	display: block;

	letter-spacing: .05rem;
	font-size: 1.6rem;
	color: #fff;
	text-shadow: 1px 1px 2px #333;
	line-height: 30px;
	
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 文字 */
#breadcrumbList ul li a span {
	padding: 0 10px;
}

/* アイコンがある場合 */
#breadcrumbList ul li span i {
	margin-right: 5px;
}



/* メッセージ */
#breadcrumbList ul li .msg {
	display: none;
}




/*---------------------------
　content
---------------------------*/
#contents {
	margin: 10px 0;
	width: 100%;
	min-height: 300px;
}

.contentHeader {
	position: relative;
	background: #0681e8;
	background: -webkit-linear-gradient( left, #025fad 0, #0681e8 10%, #0681e8 90%, #025fad 100% );
	background: -moz-linear-gradient( left, #025fad 0, #0681e8 10%, #0681e8 90%, #025fad 100% );
	background: -ms-linear-gradient( left, #025fad 0, #0681e8 10%, #0681e8 90%, #025fad 100% );
	padding: 18px 0;
	overflow: hidden;
	z-index: 0;
}

.contentHeader h2 {
	width: 1050px;
	margin: 0 auto;
}

/* グループ枠 */
.contentGroup {
	width: 1050px;
	margin: 0 auto;
}

.contentGroup:not(:last-of-type) {
	margin-bottom: 30px;
}

.contentGroup .wrap {
	height: auto;
	padding: 30px 10px;
	
}


/* コンテンツ用横並び */
.contentBox {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}

/* 各種コンテンツ */
[id^="content-"] {
	width: 100%;
	margin-bottom: 100px;
}

[id^="content-"]:not(:last-child) {
}

/* メイン記事 */
[id^="content-"] .inner {
	padding: 0 10px;
}


/*---------------------------
　リンクボックス
---------------------------*/
/* 最後のお問い合わせbox */
.lastbox {
	position: relative;
	background: #39578C;
	background: -webkit-linear-gradient( top, #39578C 0, #243657 100% );
	background: -moz-linear-gradient( top, #39578C 0, #243657 100% );
	background: -ms-linear-gradient( top, #39578C 0, #243657 100% );
	margin-bottom: 10px;
}
/*
.lastbox::before {
	position: absolute;
	content: "";
	width: 100%;
	border-top: 1px #fff solid;
	top: 4px;
	left: 0;
}

.lastbox::after {
	position: absolute;
	content: "";
	width: 100%;
	border-bottom: 1px #fff solid;
	bottom: 4px;
	left: 0;
}
*/


/* 内部box */
.lastbox .inbox {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	width: 1030px;
	margin: 0 auto;
	padding: 30px 0;
}

/* 電話 */
.lastbox .telbox {
	width: 600px;
}

/* 電話box内テキスト */
.lastbox .telbox p {
	color: #fff;
	font-size: 1.8rem;
	text-shadow: 1px 1px 2px #000;
}

.lastbox .telbox .tel {
	color: #fff53b;
	text-shadow: 2px 2px #333;
	font-size: 7.0rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: .5rem;
	margin: 5px 0;
}


/* ボタンbox */
.lastbox .inbox .button {
}

/* ボタン */
.lastbox .inbox a {
	display: block;
	width: 340px;
	padding: 8px 0;
	font-size: 1.8rem;
	color: #fff;
	background: -webkit-linear-gradient( top, #4974bf 0,  #203559 100% );
	background: -moz-linear-gradient( top, #4974bf 0,  #203559 100% );
	background: -ms-linear-gradient( top, #4974bf 0,  #203559 100% );
	border: 2px #fff solid;
	border-radius: 8px;
	padding-left: 50px;
}

.lastbox .inbox a:hover {
	background: #4974bf;
}


/* link アイコン*/
.lastbox .inbox .link::before {
	content: "\f0a9";
	font-weight: bold;
	margin-right: 10px;
}

/* メール アイコン */
.lastbox .inbox .mail::before {
	content: "\f0e0";
	font-weight: bold;
	margin-right: 10px;
}

.lastbox .inbox a:not(:last-child) {
	margin-bottom: 10px;
}





/*---------------------------
　footer
---------------------------*/
footer {
	
}

/* フッターメイン */
#infoFooter {
	min-height: 300px;
	background: #4c4c4c;
	background: -webkit-linear-gradient( top, #4c4c4c 0, #171717 100% );
	padding: 30px 0;
}

#infoFooter .inner {
	width: 1050px;
	margin: 0 auto;
}

/* 会社名 */
#infoFooter .inner .name {
	position: relative;
	color: #fff;
	font-size: 3rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.1rem;
	text-shadow: 2px 2px 3px #333;
}

/* ruby */
#infoFooter .inner .name span::before {
	position: absolute;
	content: attr(data-ruby);
	font-size: 1rem;
	font-weight: normal;
	letter-spacing: normal;
	top: -14px;
}

#infoFooter .inner .comment {
	color: #fff;
	margin-bottom: 26px;
}


#infoFooter .wrap {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	color: #fff;
	
}

#infoFooter .wrap > li {
	position: relative;
	padding: 10px 15px;
}

#infoFooter .wrap > li:first-child {
	padding: 10px 15px 10px 0;
}

#infoFooter .wrap > li:last-child {
	padding: 10px 0 10px 15px;
}

#infoFooter .wrap > li:not(:last-child):after {
	position: absolute;
	content: "";
	width: 1px;
	background: #fff;
	background: -webkit-linear-gradient( top, transparent 0, #555 20%, #555 21%, transparent 100% );
	background: -moz-linear-gradient( top, transparent 0, #888 20%, #888 20%, transparent 100% );
	background: -ms-linear-gradient( top, transparent 0, #888 20%, #888 20%, transparent 100% );
	height: 100%;
	top: 0;
	right: 0;
}


#infoFooter p.cName {
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 10px;
	
	border: 1px #fff solid;
	border-radius: 10px;
	padding: 3px 0;
	text-align: center;
}


/* 会社情報 */
#infoFooter .companyInfo {
	width: 410px;
}


/* 情報詳細 */
#infoFooter .companyInfo .box li {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 10px;
}




#infoFooter .companyInfo .box div:nth-child(1) {
	position: relative;
	flex-basis: 90px;
	background: #444;
	border-radius: 4px;
	padding: 15px 0 15px 10px;
	box-shadow: 1px 1px 2px #222;
}

#infoFooter .companyInfo .box div:nth-child(1) p {
	position: absolute;
	font-size: 1.2rem;
	text-shadow: 1px 1px 2px #333;
	top: 50%;
	transform: translateY( -50% );
	-webkit-transform: translateY( -50% );
	-moz-transform: translateY( -50% );
	-ms-transform: translateY( -50% );
}


#infoFooter .companyInfo .box div:nth-child(2) {
	position: relative;
	flex-basis: 280px;
}

#infoFooter .companyInfo .box div:nth-child(2) p {
	font-size: 1.3rem;
}

#infoFooter .companyInfo .box .subBox {
	position: absolute;
	top: 50%;
	transform: translateY( -50% );
	-webkit-transform: translateY( -50% );
	-moz-transform: translateY( -50% );
	-ms-transform: translateY( -50% );
}




/* サイトマップ */
#infoFooter .siteMap {
	width: 320px;
}

#infoFooter .siteMap p {
	margin-bottom: 5px;
}

#infoFooter .siteMap a {
	color: #fff;
}

/* アイコン */
#infoFooter .siteMap a::before {
	content: "\f105";
	color: #f33;
	font-size: 1.2rem;
	font-weight: bold;
	
	margin-right: 5px;
}


/* アクセス地図 */
#infoFooter .mapInfo {
	width: 330px;
	min-height: 260px;
}


#infoFooter .mapInfo iframe {
	width: 100%;
	height: 250px;
}

/* 大きい地図へのリンク */
#infoFooter .mapInfo a {
	display: block;
	color: #fff;
	font-size: 1.2rem;
	background: #515357;
	background: -webkit-linear-gradient( top, #515357 0, #515357 50%, #3f4145 51%, #3f4145 100% );
	background: -moz-linear-gradient( top, #515357 0, #515357 50%, #3f4145 51%, #3f4145 100% );
	background: -ms-linear-gradient( top, #515357 0, #515357 50%, #3f4145 51%, #3f4145 100% );
	text-align: center;
	width: 100%;
	
	text-shadow: 1px 1px 3px #333;
	padding: 4px 0;
	
	border-radius: 4px;
}

#infoFooter .mapInfo a:hover {
	background: -webkit-linear-gradient( top, #787b82 0,  #515357 100% );
	background: -moz-linear-gradient( top, #787b82 0,  #515357 100% );
	background: -ms-linear-gradient( top, #787b82 0,  #515357 100% );
}


/* 帯の部分 */
#lastFooter {
	background: #0681E8;
}

#lastFooter p {
	color: #fff;
	font-size: 1.5rem;
	text-align: center;
	padding: 3px 0;
	text-shadow: 1px 1px 3px #333;
}

#lastFooter a {
	color: #fff;
}




/*---------------------------
　ボタン
---------------------------*/

/* button style 01 */
.button01 {
	display: block;
	color: #fff;
	font-size: 1rem;
	font-weight: bold;
	text-align: center;
	
	background: -webkit-linear-gradient( top, #a9cc2e 0, #a9cc2e 50%, #97B726 51%, #97B726 100% );
	background: -moz-linear-gradient( top, #a9cc2e 0, #a9cc2e 50%, #97B726 51%, #97B726 100% );
	background: -ms-linear-gradient( top, #a9cc2e 0, #a9cc2e 50%, #97B726 51%, #97B726 100% );
	padding: 5px 0;
	
	text-shadow: 1px 1px #333;
	border-radius: 5px;
}

.button01:hover {
	background: #333;
}




/*---------------------------
　箇条書き
---------------------------*/

/* 数字 - 箇条書き 01 */
.numList01 {
	counter-reset: num 0;
}

.numList01 li {
	position: relative;
	counter-increment: num 1;
	font-size: .95rem;
	padding: 2px 0px 2px 34px;
	margin-bottom: 10px;
}

.numList01 li::before {
	position: absolute;
	content: counter(num) "";
	
	color: #fff;
	background: #97B726;
	
	padding: 0 6px;
	border: 1px #666 solid;
	border-radius: 3px;
	
	top: 0;
	left: 0;
	
	font-family: "游ゴシック", "Yu Gothic", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
	text-shadow: 1px 1px 1px #333;
}


/* 数字 - 箇条書き 02 */
.numList02 {
}

.numList02 li {
	position: relative;
	list-style-type: decimal;
	font-size: .95rem;
	padding: 2px 0px 2px 0px;
}



/* 自由 - 箇条書き 01 (見出し付き) */
.myList01 {
	margin: 30px 0;
}

.myList01 li {
	display: flex;
	display: -webkit-flex;
	border-bottom: 1px #758e1d dotted;
	padding-bottom: 5px;
}

.myList01 li:not(:last-child) {
	margin-bottom: 10px;
}

.myList01 p:first-child {
	flex: 0 0 70px;
	margin-right: 16px;
}

.myList01 p:first-child span {
	display: inline-block;
	width: 100%;
	color: #fff;
	font-size: .8rem;
	background: #97b726;
	
	padding: 3px 6px;
	border: 1px #666 solid;
	border-radius: 4px;
	line-height: 1;
	
	text-shadow: 1px 1px 1px #333;
	text-align: center;
}

.myList01 p:last-child {
	font-size: .9rem;
	padding-bottom: 5px;
}


/* 自由 - 箇条書き 02 (チェックマーク) */
.myList02 {
	border-top: 1px #758e1d solid;
	border-bottom: 1px #758e1d solid;
	padding: 10px 0;
	margin: 30px 0;
}

.myList02 li {
	position: relative;
	font-size: .95rem;
	padding: 2px 0px 2px 26px;
}

.myList02 li:not(:last-child) {
	margin-bottom: 4px;
}

.myList02 li::before {
	position: absolute;
	content: "\f058";
	color: #97b726;
	font-size: 1rem;
	font-weight: bold;
	top: 0;
	left: 0;
    font-family: "Font Awesome 5 Free";
}




/* ヘッダースタイル */

/* style 01 */
.headStyle01 {
	position: relative;
	color: #fff;
	font-size: 2.6rem;
	padding: 5px 0 5px 10px;
	margin-bottom: 30px;
	text-shadow: 1px 1px 3px #333;
	z-index: auto;
}

.headStyle01::before {
	position: absolute;
	content: "";
	
	width: 400px;
	height: 400px;
	background: #0a8dfa;
	border-radius: 50%;
	z-index: -1;
	
	top: -240px;
	left: -20px;
	opacity: .8;
}


.headStyle01::after {
	position: absolute;
	content: "";
	background: url( "../img/icon_header03.png" ) no-repeat;
	background-size: contain;
	width: 500px;
	height: 90px;
	top: -20px;
	right: 20px;
	opacity: .15;


}

/* style 02 */
.headStyle02 {
	position: relative;
	color: #fff;
	font-size: 2rem;
	background: #0681e8;
	padding: 5px 0 5px 10px;
	margin-bottom: 30px;
}



/* style 03 */
.headStyle03 {
	position: relative;
	padding-left: 30px;
	font-size: 2.2rem;
}

.headStyle03::before {
	position: absolute;
	content: "";
	border: 2px #831bf2 solid;
	width: 12px;
	height: 12px;
	top: 10px;
	left: 5px;
}

.headStyle03::after {
	position: absolute;
	content: "";
	border: 2px #192dff solid;
	width: 12px;
	height: 12px;
	top: 15px;
	left: 0;
	
}
/* サムネイル */
.thumb {
	cursor: pointer;
}

.zimage {
	display: none;
	position: fixed;
	background: rgba( 50,50,50,.8);
	
	opacity: 0;
	
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	
	z-index: 102;
}

/* 描画エリア */
.zimage .zwrap {
	position: fixed;
	width: 100%;
	height: 100%;
}


/* 拡大画像box */
.zimage .img {
	position: absolute;
}

/* 画像 */
.zimage .img img {
	opacity: 0;
}

/* 拡大画像boxのアニメーション */
.thumbAnime {
	animation: animethumb .6s forwards;
}

@keyframes animethumb {
	0% {
		transform: translate( 0, 0 );
		-webkit-transform: translate( 0, 0 );
		-moz-transform: translate( 0, 0 );
		-ms-transform: translate( 0, 0 );
	}
	
	100% {
		top: 50%;
		left: 50%;
		transform: translate( -50%, -50% );
		-webkit-transform: translate( -50%, -50% );
		-moz-transform: translate( -50%, -50% );
		-ms-transform: translate( -50%, -50% );
	}
	
}

.thumbAnimeImg {
	animation: animethumbImg .6s forwards;
}

@keyframes animethumbImg {
	0% {
	}
	
	100% {
		width: 100%;
		height: 100%;
	}
}



/*--------------------------------------
	ブログ(PC)
--------------------------------------*/
#contents {
	padding: 0;
	margin: 0;
}

#bContents {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 1040px;
	margin: 0 auto;
	
}

.contentHeader {
	margin-bottom: 30px;
}


/* メイン */
#main {
	flex: 0 0 720px;
}

/* サイド */
#side {
	flex: 0 0 280px;
}

p {
	margin: 0;
	line-height: 1.4;
}

/*----------------------------
	ブログ用
-----------------------------*/
[class$="-bsp"],
[class$="-bsp"]::before,
[class$="-bsp"]::after {
	background: url( "../img/blogicon.png" ) no-repeat;
}


/*----------------------------
	ページがない場合
-----------------------------*/
#notFound {
}

#notFound h6 {
	font-size: 1.8rem;
	margin-bottom: 20px;
}

#notFound .box {
}


/*----------------------------
	ブログヘッダー
-----------------------------*/

.blogHeader {
	width: 100%;
	background: #2b7218;
	margin-bottom: 10px;
}

.hWrap {
	width: 1050px;
	margin: 0 auto;
	padding: 30px 0;
}

.hWrap h3 {
	font-size: 2rem;
	color: #fff;
	
	border-left: 3px #fff solid;
	text-indent: 2rem;
	padding: 5px;
}

/*---------------------------
　breadcrumb
---------------------------*/
#breadcrumbList {
	width: 100%;
	padding: 3px 0;
	margin-bottom: 10px;
}

/* 表示範囲 */
#breadcrumbList ul {
	position: relative;
	width: 1050px;
	margin: 0 auto;
	
	display: flex;
	display: -webkit-flex;
	
	overflow: hidden;
}

/* 各階層 */
#breadcrumbList ul li {
	position: relative;
	max-width: 300px;
	background: #17479A;
	margin-right: 14px;
}
/* 2目以降 */
#breadcrumbList ul li:not(:nth-child(1)) {
	padding-left: 10px;
}

#breadcrumbList ul li::before,
#breadcrumbList ul li::after {
	position: absolute;
	content: "";
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

/* 階層枠の後方 */
#breadcrumbList ul li:not(:first-child):before {
	border-top: 18px transparent solid;
	border-left: 14px #fff solid;
	border-bottom: 18px transparent solid;
	left: -1px;

}

/* 階層枠の前方 */
#breadcrumbList ul li::after {
	border-top: 18px transparent solid;
	border-left: 15px #17479A solid;
	border-bottom: 18px transparent solid;
	right: -14px;
	z-index: 1;
}

/* リンク */
#breadcrumbList ul li a {
	display: block;

	letter-spacing: .05rem;
	font-size: 1.4rem;
	color: #fff;
	text-shadow: 1px 1px 2px #333;
	line-height: 30px;
	
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 文字 */
#breadcrumbList ul li a span {
	padding: 0 10px;
}

/* アイコンがある場合 */
#breadcrumbList ul li span i {
	margin-right: 5px;
}



/* メッセージ */
#breadcrumbList ul li .msg {
	display: none;
}


/* 現在位置 */
#breadcrumbList .now {
	background: #277be8;
}
#breadcrumbList .now::before {
	border-top: 18px #277be8 solid;
	border-bottom: 18px #277be8 solid;
}

#breadcrumbList .now::after {
	border-left: 15px #277be8 solid;
}


/*----------------------------
	ページ移動
-----------------------------*/
.pageMove {
	width: 1050px;
	margin: 5px auto;
	
}
.pageMove ul {
	width: 720px;
	display: flex;
}


/* ページリンク */
.pageMove ul li {
	font-size: 1.4rem;
	width: 46px;
	text-align: center;
	border: 1px #aaa solid;
	margin-right: 3px;
	border-radius: 5px;
	
	background: #fff;
}

.pageMove ul li:hover {
	color: #333;
	background: #d1e5ff;
}

.pageMove ul li:last-child {
	margin: 0;
}

/* 進む・戻るボタン */
.pageMove .prevPage,
.pageMove .nextPage {
	position: relative;
	flex: 0 0 60px;
}

.pageMove .prevPage .prevLink,
.pageMove .nextPage .nextLink {
	display: block;
	position: relative;
	font-size: 1.4rem;
	color: #888;
}

.pageMove .prevPage .prevLink {
	text-indent: .5rem;
}

.pageMove .nextPage .nextLink {
	text-indent: -.5rem;
}


.pageMove .prevPage a.prevLink,
.pageMove .nextPage a.nextLink {
	color: #33f;

}


/* 前後ボタンの基本 */
.pageMove .prevPage .prevLink::before,
.pageMove .nextPage .nextLink::before {
	position: absolute;
	content: "";
	border-top: 6px transparent solid;
	border-bottom: 6px transparent solid;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

/* 選択不可の場合 */
.pageMove .prevPage .prevLink::before {
	left: 8px;
	border-right: 6px #888 solid;
}

.pageMove .nextPage .nextLink::before {
	border-left: 6px #888 solid;
	right: 8px;
}


/* リンク状態の場合 */
.pageMove .prevPage a.prevLink::before {
	border-right: 6px #33f solid;

}
.pageMove .nextPage a.nextLink::before {
	border-left: 6px #33f solid;
}

.pageMove a {
	display: block;
	color: #33c;
}


.pageMove .pNow {
	color: #fff;
	background: #3067c7;
}


/*----------------------------
	記事間移動
-----------------------------*/
.ctrlPanel {
	margin-bottom: 30px;
}

/* 移動ボタンエリア */
.entryMove {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	text-align: center;
}

/* リンクカラー */
.entryMove a {
	color: #333;
	
}


/* 移動ボタン */
.entryMove [class^="move"] {
	position: relative;
	font-size: .8rem;
	line-height: 1.2;
	width: 320px;
	min-height: 64px;
	background: #fff;
	border-top: 1px #ccc solid;
	border-bottom: 1px #ccc solid;
	
}

.entryMove [class^="move"] a {
	display: block;
	height: 100%;
	padding: 0;
	text-align: left;
	padding-bottom: 3px;
}

/* 日付 */
.entryMove [class^="move"] [class^="date"] {
	display: block;
	position: relative;
	font-size: 1.2rem;
	color: #fff;
	text-align: left;
	background: #17479A;
	padding: 3px 0 3px 10px;
	margin-bottom: 4px;
	text-shadow: 1px 1px 0 #333;
}



/* 記事がない */
.entryMove [class^="move"] .noEntry {
	display: block;
	position: absolute;
	width: 100%;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	
}


/* サムネイル画像 */
.entryMove [class^="move"] .mbox {
	display: flex;
	display: -webkit-flex;
	
	/* 文字を縦中央揃え */
	align-items: center;
	-webkit-align-items: center;

}

.entryMove [class^="move"] .mbox span {
	display: block;
}

.entryMove [class^="move"] .mbox .eimg {
	position: relative;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	margin-right: 5px;
	overflow: hidden;
}

.entryMove [class^="move"] .mbox .emsg {
	font-size: 1.2rem;
}


/* 一覧へ戻る */
.entryMove .list {
	font-weight: bold;
	width: 60px;
	text-align: center;
	background: #fff;
	border: 1px #ccc solid;
	border-radius: 4px;
	margin: 0 5px;
}

.entryMove .list a {
	display: block;
	position: relative;
	height: 100%;
}

/* アイコンを中央へ*/
.entryMove .list span {
	position: absolute;
	width: 100%;
	font-size: .8rem;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);

}

.entryMove .list span::before {
	font-size: 1.8rem;
	color: #666;
}

/*----------------------------
	サイドコンテンツ
-----------------------------*/
[id^="side-"] {
	margin-bottom: 15px;
}

/* コンテンツ見出し */
[id^="side-"] h2 {
	font-size: 1.4rem;
	color: #fff;
	background: #17479A;
	text-align: center;
	text-shadow: 1px 1px 0 #333;
	
	border-radius: 8px;
}


/*---------------------------
	最新記事一覧 
---------------------------*/
#side-News {
	min-height: 150px;
}

/* リンク */
#side-News a {
	display: flex;
	display: -webkit-flex;
	color: #333;
	transition: .2s;
}

#side-News a:hover {
	color: #fff;
	background: #17479A;
}


/* 最新記事欄 */
#side-News li {
	position: relative;
	padding: 5px 0 5px 0;
	font-size: 1.4rem;
	line-height: 1.4;
	border-bottom: 1px #ccc dotted;
	
}


#side-News li span {
	display: block;
}

#side-News li span:first-child {
	flex: 0 0 60px;
	margin-right: 5px;
	width: 60px;
	height: 60px;
	overflow: hidden;
}



/*----------------------------
	記事一覧
-----------------------------*/
.entry-list {
	position: relative;
	border-bottom: 1px #ccc solid;
	padding-bottom: 20px;
}

.entry-list:not(:first-child) {
	padding: 20px 0;
}


/* 記事box */
.entry-list .entryBox {
	display: flex;
	display: -webkit-flex;
	margin: 5px 0 10px 0;
}



/* タイトル */
.entry-list h3 {
	font-size: 1.6rem;
	line-height: 1.4;
	margin-bottom: 20px;
}

.entry-list h3 a {
	display: block;
	color: #00a;
	transition: .4s;
}

.entry-list h3 a:hover {
	color: #00bdb0;
}


/* 画像ボックス */
.entry-list .entryBox .ibox {
	flex: 0 0 210px;
	width: 210px;
	height: 190px;
	margin-right: 30px;
	text-align: center;
	overflow: hidden;
}

/* 画像 */
.entry-list .entryBox .ibox img {
	width: 100%;
	height: auto;
}



/* メッセージボックス */
.entry-list .entryBox .mbox {
	position: relative;
	width: 100%;
	height: 190px;
}

/* 本文 */
.entry-list .mbox .body {
	width: 100%;
	font-size: 1.4rem;

}


/* 記事へのリンクボタン */
.entry-list .mainLink {
	position: absolute;
	display: block;
	font-size: 1.4rem;
	color: #fff;
	width: 140px;
	text-align: center;
	background: #17479A;
	padding: 3px;
	right: 0;
	bottom: 0;
}

/*----------------------------
	記事
-----------------------------*/

.entry-main {
	padding:  10px 0 80px 0;
}

.entry-main .title {
	color: #333;
	font-size: 2.0rem;
}


.entry-main .body {
	padding: 30px 0 0 20px;
}

.entry-main .body {
	font-size: 1.6rem;
}


/*----------------------------
	共通
-----------------------------*/

/* ヘッダーボックス */
[class^="entry-"] .hbox {
	position: relative;
	margin-bottom: 5px;
	font-size: 1.2rem;
	line-height: 1.4;
}

/* ヘッダー見出し */
[class^="entry-"] .hbox .time {
	color: #888;
	font-size: 1.2rem;
}

/* 時計アイコン */
[class^="entry-"] .hbox .time::before {
	content: "\f017";
	font-size: 1.2rem;
	margin-right: 3px;
}

/*----------------------------
	ページ移動
-----------------------------*/
.ctrlBox {
	display: flex;
	margin: 20px 0;
}

.ctrlBox li {
	border: 1px #0681E9 solid;
	margin: 0 5px;
	min-width: 30px;
	text-align: center;
}

.ctrlBox li > span,
.ctrlBox li > a  {
	display: block;
	padding: 2px 10px;
	color: #000;
}

.ctrlBox li > a:hover {
	color: #fff;
	background: #0681E9;
}


/*----------------------------
	その他の設定
-----------------------------*/

/* サムネイルの位置設定 */
[class^="thumb-"] {
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

.thumb-w {
	position: relative;
	width: auto;
	height: 100%;
}

.thumb-h {
	position: relative;
	width: 100%;
	height: auto;
}


