@charset "UTF-8";
@import url("contact.css");

/*
薄い色
#1775d4

濃い色
#152c92
*/

body {
	max-width: 640px;
	margin: 0 auto;
	color: #202020;
	font-size: 14px;
	line-height: 150%;
	letter-spacing: 1px;
	font-family: "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
	font-family: 'メイリオ', Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

img {
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
}


/* 共通
================================================== */

/* リンク
------------------------------ */

a {
	color: #152c92;
	transition: All 0.4s ease;
}
a img {
	transition: All 0.4s ease;
}
a:hover img {
	opacity: .6;
}


/* テーブル
------------------------------ */

table.def {
	width: 100%;
	font-size: 13px;
}
table.def th {
	width: 40%;
	padding: 5px;
	color: #333;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #1775d4;
}
table.def td {
	padding: 5px;
	border-bottom: 1px solid #1775d4;
}


/* リスト
------------------------------ */

ul.def {
	margin: 0 0 15px;
}
ul.def li {
	padding: 5px 0 5px 12px;
	border-bottom: 1px dotted #cfcfcf;
	background: url(../images/common/ico_arrow02.png) left center no-repeat;
}


/* 定義リスト
------------------------------ */

dl.def dt {
	margin: 0 0 5px;
	padding: 0 0 0 14px;
	font-weight: bold;
	background: url(../images/common/ico_arrow01.png) left center no-repeat;
}
dl.def dd {
	margin: 0 0 8px;
	padding: 0 0 0 25px;
}


/* バナー・ボタン
------------------------------ */

.bnr {
	margin: 0 10px 10px;
	text-align: center;
}

.btn {
	margin: 0 10px 10px;
	padding: 6px 0;
	text-align: center;
	color: #fff;
	text-decoration: none;
	border: 1px solid rgba(0,0,0,.1);
	border-radius: 4px;
	background:
		url(../images/common/ico_arrow02_w.png) 5px center no-repeat,
		linear-gradient(#53d8aC, #1775d4)
	;
	box-shadow:
		0 2px 2px rgba(0,0,0,.2),
		0 1px 1px rgba(255,255,255,.6) inset
	;
	display: block;
}

p.text-more {
	padding: 12px 0 0;
	text-align: right;
}
p.text-more a {
	padding: 0 0 0 12px;
	color: inherit;
	background: url(../images/common/ico_arrow02.png) left center no-repeat;
}


/* パンくずリスト
------------------------------ */

.breadcrumbs {
	height: 25px;
	line-height: 25px;
	margin: 0 5px 15px;
	font-size: 0;
	letter-spacing: 0;
	overflow: hidden;
	white-space: nowrap;
}
.breadcrumbs li {
	font-size: 12px;
	display: inline;
}
.breadcrumbs a {
	background: url(../images/common/ico_arrow01.png) right center no-repeat;
	margin: 0 5px 0 0;
	padding: 0 10px 0 0;
}


/* ページ内リンク
------------------------------ */

.anchor-links {
	margin: 0 0 15px;
	text-align: center;
	font-size: 0;
	letter-spacing: 0;
}
.anchor-links li {
	width: 30%;
	height: 35px;
	margin: 0 1% 10px;
	line-height: 35px;
	font-size: 13px;
	border: 1px solid #cfcfcf;
	background: linear-gradient(#fff, #e3e3e3);
	display: inline-block;
	vertical-align: top;
	overflow: hidden;
}
.anchor-links a {
	text-decoration: none;
	display: block;
}


/* 開閉式コンテンツ
------------------------------ */

.toggle {
	cursor: pointer;
}
.toggle + * {
	display: none;
}
.toggle:target + * {
	display: block;
}


/* ヘッダー
================================================== */

.lower .site-header {
	margin: 0 0 20px;
}

.h-logo {
	text-align: center;
}

.h-visual {
	text-align: center;
}
.h-visual.h-main-visual {
	position: relative;
}
	.h-visual.h-main-visual > img {
		position: absolute;
		top: 0;
		left: 0;
	}
	.h-visual.h-main-visual .h-fade {
		height: 0;
	}
.h-visual.h-sub-visual {
	background: url(../images/common/h2_bg.jpg) center / cover no-repeat;
}

/* コンテンツ
================================================== */

.lower .main-contents {
	margin: 0 5px;
	display: block;
}


/* 記事骨格
------------------------------ */

.item-box {
	margin: 0 0 40px;
}
.item-text {
	overflow: hidden;
}


/* 見出し
------------------------------ */

.item-title-h3 {
	margin: 0 0 15px;
	padding: 5px 8px;
	color: #fff;
	font-size: 16px;
	border-top: 6px solid #094fa0;
	background: #0b63c7
}

.item-title-h4 {
	margin: 0 0 15px;
	padding: 6px 4px 6px 15px;
	color: #152c92;
	font-size: 15px;
	border-bottom: 1px dotted #152c92;
	background: url(../images/common/ico_arrow01.png) 5px center no-repeat;
}
* ~ .item-title-h4 {
	margin-top: 20px;
}


/* 記事サムネイル
------------------------------ */

img.thumb-left {
	max-width: 35%;
	height: auto;
	margin: 0 8px 8px 0;
	float: left;
}
img.thumb-right {
	max-width: 35%;
	height: auto;
	margin: 0 0 8px 8px;
	float: right;
}
img.thumb-center {
	max-width: 95%;
	margin: 0 auto 8px;
	display: block;
}
img.photo {
	padding: 2px;
	background: #fff;
	box-shadow: 0 2px 2px rgba(0,0,0,.2);
	box-sizing: border-box;
}




/* フッター
================================================== */

.site-footer {
}


/* footer nav
------------------------------ */

.f-nav-box {
	margin: 0;
}

.f-nav {
	overflow: hidden;
}
	.f-nav li {
		width: 50%;
		border-bottom: 1px solid #616161;
		background:
			url(../images/common/f_nav_border.png) 10px center / 4px auto no-repeat,
			url(../images/common/f_nav_arw.png) right 10px center / 3px auto no-repeat
		;
		float: left;
		box-sizing: border-box;
	}
	.f-nav li:nth-child(odd) {
		border-right: 1px solid #616161;
	}
		.f-nav a {
			padding: 10px 3px 10px 20px;
			line-height: 25px;
			color: #515151;
			font-size: 13px;
			letter-spacing: 0;
			text-decoration: none;
			display: block;
		}


/* totop
------------------------------ */

.f-totop {
	text-align: center;
	background: #152c92;
	display: block;
}

/* f-logo
------------------------------ */

.f-logo {
	text-align: center;
}

/* address
------------------------------ */

.f-address {
	overflow: hidden;
}
	.f-address .f-address-box {
		width: 50%;
		padding: 5px;
		color: #fff;
		font-size: 13px;
		letter-spacing: 0;
		border-bottom: 1px solid #8bbaea;
		background: #1775d4;
		float: left;
		box-sizing: border-box;
	}
	.f-address .f-address-box:nth-child(odd) {
		border-right: 1px solid #8bbaea;
	}

.f-contact-list {
	background: #1775d4;
	overflow: hidden;
}
	.f-contact-list li {
		width: 50%;
		line-height: 35px;
		color: #fff;
		font-size: 13px;
		letter-spacing: 0;
		text-align: center;
		float: left;
		box-sizing: border-box;
	}
		.f-contact-list a {
			color: inherit;
			text-decoration: none;
			display: block;
		}

.f-copy {
	text-align: center;
	line-height: 30px;
	color: #fff;
	font-size: 13px;
	letter-spacing: 0;
	background: #152c92;
	display: block;
}
	.f-copy a {
		color: inherit;
		text-decoration: none;
	}
	.f-copy a:hover {
		text-decoration: underline;
	}

/* トップページ
================================================== */

.top-item-title {
	text-align: center;
	background: url(../images/top/top_title_bg.png);
	position: relative;
}
	.top-item-title:after {
		content: '';
		width: 23px;
		height: 12px;
		margin-left: -11px;
		background: url(../images/top/top_title_arw.png) center / 100%;
		display: block;
		position: absolute;
		bottom: -12px;
		left: 50%;
		z-index: 30;
	}


.top-bnrs {
}
	.top-bnrs li {
		margin: 0 10px 14px;
		text-align: center;
	}

/*  greeting
------------------------------ */

.top-greeting-box {
}
	.top-greeting-box .item-text {
		padding: 15px 10px 10px;
		background: url(../images/top/greeting_bg.png) center / cover;
	}


/*  topics
------------------------------ */

.top-topics-list {
	margin: 0 0 15px;
	text-align: center;
}
	.top-topics-list img {
		width: 100%;
	}


/*  facebook
------------------------------ */

.top-facebook-box {
}
	.top-facebook-box .item-text {
		padding: 25px 10px;
		background: url(../images/top/facebook_bg.png) center / cover;
	}
	.top-facebook-box .inner {
		max-width: 500px;
		margin: 0 auto;
	}


/* 下層ページ
================================================== */

/* サイトマップ
------------------------------ */

.sitemap-list a {
	padding: 0 0 0 15px;
	line-height: 40px;
	text-decoration: none;
	border-bottom: 1px dotted #ccc;
	background: url(../images/common/ico_arrow01.png) 5px center no-repeat;
	display: block;
}
.sitemap-list a:hover {
	background-color: #efefef;
}


/* ギャラリー
------------------------------ */

ul.gallery {
	font-size: 0;
	letter-spacing: 0;
}
ul.gallery > li {
	width: 23%;
	margin: 0 1% 15px;
	vertical-align: top;
	font-size: 13px;
	display: inline-block;
}
ul.gallery.column2 > li {
	width: 48%;
}
ul.gallery.column3 > li {
	width: 32%;
	margin-right: 0;
	margin-left: 0;
}
ul.gallery.column3 > li:nth-child(3n+2) {
	margin-right: 2%;
	margin-left: 2%;
}
ul.gallery.column4 > li {
	width: 23%;
}
ul.gallery > li img {
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
}



/* お問い合わせ
------------------------------ */

.contact-form dt {
	margin: 0 0 8px;
	padding: 5px;
	background: #e9e9e9;
}
.contact-form dd {
	margin: 0 0 15px;
	padding: 0 0 15px;
}

.input-big,
.input-middle,
.input-mini {
	padding: 5px;
	box-sizing: border-box;
}
.input-big {
	width: 100%;
}
.input-middle {
	width: 60%;
}
.input-mini {
	width: 60px;
}

/* 必須マーク */
.required-mark {
	color: #f00;
	font-size: 12px;
}

/* 未記入エラー文 */
.error-text {
	margin: 0 0 5px;
	color: #f00;
}

/* 確認、バック、送信ボタン */
.contact-submits {
	text-align: center;
}
.contact-submits input {
	margin: 0 5px;
	padding: 5px;
}

/* セキュリティエラー */
.sec-error-text {
	padding: 10px;
	color: #f00;
	font-size: 16px;
	border: 2px solid #f00;
}
