html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6,
p, blockquote, pre, a, abbr, acronym, address,
big, cite, code, del, dfn, em, font, ins, kbd,
q, s, samp, small, strike, strong, sub, sup,
tt, var, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}

h1, h2, h3, h4, h5, h6 {
	position: relative;
}
article,
aside,
details,
figcaption,
figure,hea
footer,
header,
hgroup,
nav,
section {
	display: block;
}
a { outline:none !important; text-decoration:none; color:#003664; }
a:focus { outline:none !important; color:#003664; text-decoration:none; }
a:active { outline:none !important; color:#003664; text-decoration:none; }
a:hover { color:#003664; text-decoration:none; }
a:visit { color:#003664; text-decoration:none; }
a[href] {
	-webkit-transition:0.20s;
	   -moz-transition:0.20s;
	    -ms-transition:0.20s;
	        transition:0.20s;
}
a[href]:hover {
	opacity:0.75;
}
address {
	margin-top:0;
}
b,
strong {
	font-weight: 700;
}
em,
i,
b {
	font-weight:700;
}
p {
	margin-bottom: 20px;
}
ul,
ol {
	list-style: none;
}
img {
	-ms-interpolation-mode: bicubic;
	border: 0;
	vertical-align: middle;
}
table {
	border-collapse: separate;
	border-spacing: 0;
	border-width: 0;
	width: 100%;
}
hr {
	border: none;
	border-top: 1px solid #efefef;
	height: 1px;
	margin:30px 0;
}

figure{margin: 0;}
/*-----------------------------------------------------------------------------------------
	body
-----------------------------------------------------------------------------------------*/


body {
	font-family:'Lucida Grande',
				'メイリオ',
				Meiryo,
				'Hiragino Kaku Gothic ProN',
				'ヒラギノ角ゴ ProN W3',
				sans-serif;
	font-size:14px;
	background:#fff;
	line-height:150%;
	letter-spacing:1px;
	color:#333;
}
html, body {
	height: 100%;
	width:100%;
	margin: 0;
	padding: 0;
	text-align: center;
}

/*-----------------------------------------------------------------------------------------
	header
-----------------------------------------------------------------------------------------*/
header {
	position: relative;
    display: flex;
    align-items: center;
	width:1000px;
	margin:0 auto;
}
header #logo {
	float:left;
	margin:22px 68px 25px 0;
}
/*-- 検索フォーム --*/
#search {
	float:left;
	width:300px;
}
#fb-btn {
	float:right;
}

.p {}
.s { display: none !important; }
.gsc-search-button-v2{
    height: 30px !important;
}
table.gsc-search-box td.gsc-input{
    padding-right: 0px !important;
}
.gsc-control-cse{
    padding: 0 10px !important;
}
form.gsc-search-box{
    margin: 0 !important;
}

table.gsc-search-box{
    margin: 0 !important;
}
input.gsc-input{
    height: 28px;
}
/*-----------------------------------------------------------------------------------------
	グローバルナビ
-----------------------------------------------------------------------------------------*/
#gnav {
	position: relative;
	clear: both;
	overflow: hidden;
	border-top:5px solid #003664;
}
#gnav ul {
	width:1000px;
	margin:0 auto;
	display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
}
#gnav ul li {
    flex-grow: 1;
	position: relative;
	font-size: 14px;
	vertical-align: middle;
}
#gnav ul li:before {
	position: absolute;
	content: '';
	top:10px;
	right:0;
	height: 60px;
	border-left:2px solid #d4d4d4;
}
#gnav ul li:first-child:after {
	position: absolute;
	content: '';
	top:10px;
	left:0;
	height: 60px;
	border-left:2px solid #d4d4d4;
}
#gnav ul li a {
    display: flex !important;
    justify-content: center;
    align-items: center;
    height: 80px;
	color:#003664;
	display: block;
}
/*-----------------------------------------------------------------------------------------
	共通
-----------------------------------------------------------------------------------------*/
/*------------------------------ コンテンツエリア ----------*/
.box {
	position: relative;
	clear:both;
	overflow: hidden;
	margin:0 auto;
	text-align: left;
	width: 1000px;
}

/*------------------------------ お知らせ, リンク 見出しタイトル ----------*/
.ttl {
	position: relative;
	letter-spacing: 4px;
	color:#003664;
	font-size: 30px;
	line-height: 150%;
	border-bottom:7px solid #b0c1cf;
}
.ttl:after {
	position: absolute;
	content: '';
	bottom:-7px;
	left: 0;
	width:150px;
	border-bottom:7px solid #003664;
}
.ttl span {
	font-size:14px;
	display: inline-block;
	margin:0 0 0 15px;
}
/*------------------------------ 下層ページ コンテンツタイトル ----------*/
.ttl-m {
	position: relative;
	letter-spacing: 4px;
	color:#003664;
	font-size: 30px;
	line-height: 150%;
	border-bottom:2px solid #b0c1cf;
}
.ttl-m:after {
	position: absolute;
	content: '';
	bottom:-2px;
	left: 0;
	width:150px;
	border-bottom:2px solid #003664;
}
.ttl-m span {
	font-size:14px;
	display: inline-block;
	margin:0 0 0 15px;
}
/*---------- 下層ページ sectionタイトル ----------*/
.ttl-sec {
	position: relative;
	border-bottom:2px solid rgba(0,54,100,0.30);
	text-align: left;
	padding:18px 0 18px 10px;
	margin-bottom:35px;
	font-size: 24px;
}
.ttl-sec:before {
	position: absolute;
	content: '';
	left:0;
	bottom:-2px;
	width:225px;
	border-bottom:2px solid #003664;
	z-index: 1;
}

main {
	position: relative;
	clear:both;
	overflow: hidden;
	display: block;
	min-height: 500px;
}
.new {
	color:rgba(187,0,3,1.00);
	font-weight: 700;
	display: inline-block;
	margin-left:5px;
}

/*---------- 下層ページ sectionタイトル ----------*/
/*青いバー*/
.c-title1{
    margin: 0 0 30px;
    padding: 15px 20px;
    font-size: 24px;
    line-height: 1.4;
    font-weight: bold;
    color: #fff;
    background-color: #2E58A6;
}

@media only screen and (max-width: 680px) {
    .c-title1{
        margin: 0 0 20px;
        padding: 10px 15px;
        font-size: 18px;
    }
}
/*右にボーダー*/
.c-title2{
    margin: 0 0 30px;
    padding: 15px 20px;
    font-size: 24px;
    line-height: 1.4;
    border-left: 8px solid #2E58A6;
}

@media only screen and (max-width: 680px) {
    .c-title2{
        margin: 0 0 20px;
        padding: 10px 15px;
        font-size: 18px;
    }
}

/*下にボーダー*/
.c-title3{
    position: relative;
    margin: 0 0 30px;
    padding: 0 0 20px;
    font-size: 24px;
    border-bottom: 2px solid rgba(0,54,100,0.30);
}

.c-title3::before{
    position: absolute;
    content: '';
    left: 0;
    bottom: -2px;
    width: 225px;
    border-bottom: 2px solid #003664;
    z-index: 1;
}

@media only screen and (max-width: 680px) {
    .c-title3{
        padding: 0 0 15px;
        margin-bottom: 0 0 20px;
        font-size: 20px;
    }

    .c-title3::before{
        width: 35%;
    }
}

/*---------- テーブル ----------*/
.c-table1{
    width: 100%;
    border-collapse: collapse;
}
.c-table1 th{
    padding: 15px 20px;
    font-size: 18px;
    color: #fff;
    background: rgba(46, 88, 166, 0.5);
    border: 1px solid #fff;
}
.c-table1 td{
    padding: 6px 20px;
    font-size: 14px;
    background: rgba(46, 88, 166, 0.2);
    border: 1px solid #fff;
}

@media only screen and (max-width: 680px) {
    .c-table1 th{
        padding: 10px;
        font-size: 16px;
    }
    .c-table1 td{
        padding: 10px;
        font-size: 14px;
    }
}

/*-----------------------------------------------------------------------------------------
タイトル
-----------------------------------------------------------------------------------------*/
.l-page-title{}

/*-----------------------------------------------------------------------------------------
	リンク
-----------------------------------------------------------------------------------------*/
#link {
	position: relative;
	clear: both;
	overflow: hidden;
	padding:75px 0 95px 0;
}
#link ul.link {
	position: relative;
	clear: both;
	overflow: hidden;
	margin:28px 20px;
}
#link ul.link li {
	float:left;
	width:21%;
	margin-right:5%;
}
#link ul.link li:last-child {
	margin-right: 0 !important;
}

/*-----------------------------------------------------------------------------------------
	footer
-----------------------------------------------------------------------------------------*/
footer {
	position: relative;
	background: #d9e1e8;
	padding:32px 0 0 0;
}
/*------------------------------ コピーライト ----------*/
footer small {
	display: block !important;
	text-align:center;
	border-top:2px solid #eef2f5;
	line-height: 57px;
}

/*------------------------------ 住所等 ----------*/
.fWrap {
	position: relative;
	clear: both;
	overflow: hidden;
	margin:0 auto;
	width:1000px;
	text-align: left;
}
.fBox-L {
	position: relative;
	width:370px;
	float:left;
}
.fBox-L .logo-f {
	margin:0 0 34px 0;
}
.fBox-L p a.fblink {
	text-decoration: none;
	padding-left:25px;
	background:url(../img/parts/fb.jpg) 0 50% no-repeat;
	background-size:19px 19px;
}
/*------------------------------ フッターリンク ----------*/
#fnav {
	float:right;
	width:520px;
}
#fnav ul li {
	position: relative;
	float:left;
	width:250px;
	margin:0 20px 0 0;
	padding-left:25px;
	border-top:2px solid #eef2f5;
	line-height: 40px;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
#fnav ul li:before {
	position: absolute;
	content:'';
	top:15px;
	left: 5px;
	width: 9px;
	height: 9px;
	border-top: 1px solid #003664;
	border-right: 1px solid #003664;
	-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
}
#fnav ul li:nth-child(2n) {
	margin-right:0;
}
#fnav ul li:nth-child(5),
#fnav ul li:last-child {
	/* border-bottom:2px solid #eef2f5; */
}

/*------------------------------ トップスクロールボタン ----------*/
#pageTop {
	position:absolute;
	top:-60px;
	right:2%;
	width:80px;
	height:60px;
	border-radius: 10px 10px 0 0;
	background: #d9e1e8;
	color:#003664;
	text-align: center;
	margin: 0;
}
#pageTop a {
	position: relative;
	display: block;
	padding-top:40px;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
#pageTop a:before {
	position: absolute;
	content:'';
	top:17px;
	left: 25px;
	width: 29px;
	height: 29px;
	border-top: 1px solid #003664;
	border-right: 1px solid #003664;
	-webkit-transform: rotate(-45deg);
			transform: rotate(-45deg);
}

/*-----------------------------------------------------------------------------------------
	パン屑
-----------------------------------------------------------------------------------------*/
#pan {
	position: relative;
	clear: both;
	padding:18px 0;
	margin-bottom:40px;
	border-bottom:2px solid #b0c1cf;
}
#pan:after {
	position: absolute;
	content: '';
	bottom:-2px;
	left: 0;
	width:150px;
	border-bottom:2px solid #003664;
}
#pan ol {
	overflow:hidden;
}
#pan ol li {
	position:relative;
	overflow:hidden;
	float:left;
	line-height:120%;
	font-size:12px;
}
#pan ol li:after {
	position:relative;
	content:'>';
	margin:0 8px;
	font-size:12px;
}
#pan ol li:last-child:after {
	content:'';
}

/*-----------------------------------------------------------------------------------------
	ページング
-----------------------------------------------------------------------------------------*/
.pagination {
	position:relative;
	clear:both;
	overflow:hidden;
	margin:0 0 100px 0;
	text-align:center;
	font-size:11px;
	line-height:13px;
}
.pagination span,
.pagination a {
	display:block;
	float:left;
	margin: 0;
	text-decoration:none;
	width:60px;
	line-height: 60px;
	color:#003664;
	background:#ffffff;
	-webkit-box-sizing: border-box;
			box-sizing: border-box;
}
.pagination a:hover{
	color:#fff;
	background: #003664;
}
.pagination .current{
	background: #003664;
	color:#fff;
}
/*
.prev {
	position: relative;
	float:left;
	width:48%;
	text-align: left;
}
.next {
	position: relative;
	float:right;
	width:48%;
	text-align: right;
}
*/

@media only screen and (max-width: 680px) {
	/*-----------------------------------------------------------------------------------------
		body
	-----------------------------------------------------------------------------------------*/
	body {
		font-size:14px;
		line-height:150%;
		letter-spacing:1px;
		padding:60px 0 0 0;
		-webkit-box-sizing: border-box;
				box-sizing: border-box;
		-webkit-tap-highlight-color:rgba(0,0,0,0);
	}
	html, body {}
	
	.p { display: none !important; }
	.s { display: block !important; }

	/*-----------------------------------------------------------------------------------------
		header
	-----------------------------------------------------------------------------------------*/
	header {
		position: fixed;
		top:0;
		left:0;
		width:100%;
		margin:0;
		background:#fff;
		z-index: 1000;
		height: 60px;
	}
	header #logo {
		max-width:320px;
		width:75%;
		margin:15px 0 0 10px;
	}
	header #logo img {
		width:100%;
		height: auto;
	}
	/*-- 検索フォーム --*/
	#search {
		display: none;
	}
	#fb-btn {
		display: none;
	}

	/*-----------------------------------------------------------------------------------------
		グローバルナビ
	-----------------------------------------------------------------------------------------*/
	#gnav {
		position: fixed;
		top:0;
		left: 0;
		width:100%;
		height: 100%;
		background:rgba(0,86,140,0.95);
		z-index: 150;
		display: none;
		border-top:none;
	}
	#gnav ul {
		width:85%;
		margin:80px auto 0 auto;
		display:inherit;
	}
	#gnav ul li {
		display: inherit;
		font-size: 14px;
		text-align: left;
		line-height:inherit !important;
		border-bottom:1px solid rgba(212,212,212,0.50);
	}
	#gnav ul li:before {
		display: none;
	}
	#gnav ul li:first-child:after {
		display: none;
	}
	#gnav ul li a {
        justify-content: flex-start;
		color:#fff;
		height: 60px;
		padding-left:25px;
	}
	#gnav ul li a:before {
		position: absolute;
		content:'>';
		left:6px;
	}
	
	/*------------------------------ バーガーメニュー ----------*/
	#panel-btn {
		display: inline-block;
		position: absolute;
		top:12px;
		right:12px;
		width: 30px;
		height: 30px;
		margin-top:0;
		z-index:9999 !important;
	}
	#panel-btn-icon {
	  display: block;
	  position: absolute;
	  top: 50%;
	  left: 0;
	  width: 30px;
	  height: 3px;
	  background: #003664;
	  transition: .2s;
	}
	#panel-btn-icon:before,
	#panel-btn-icon:after {
		position: absolute;
		content: "";
		top: 50%;
		left: 0;
		display: block;
		width: 30px;
		height: 3px;
		background: #003664;
		transition: .3s;
	}
	#panel-btn-icon:before {
		margin-top: -11px;
	}
	#panel-btn-icon:after {
		margin-top: 8px;
	}
	#panel-btn .close {
		background: transparent;
	}
	#panel-btn .close:before,
	#panel-btn .close:after {
		margin-top: 0;
		background: #003664 !important;
	}
	#panel-btn .close:before{
	  -webkit-transform: rotate(-45deg);
			  transform: rotate(-45deg);
	}
	#panel-btn .close:after{
	  -webkit-transform: rotate(-135deg);
			  transform: rotate(-135deg);
	}

	/*-----------------------------------------------------------------------------------------
		共通
	-----------------------------------------------------------------------------------------*/
	/*------------------------------ コンテンツエリア ----------*/
	.box {
		margin:0;
		width: 100%;
	}

	/*------------------------------ お知らせ, リンク 見出しタイトル ----------*/
	.ttl {
		letter-spacing: 0;
		font-size: 1.3rem;
		padding:0 0 1% 2%;
		border-bottom:3px solid #b0c1cf;
	}
	.ttl:after {
		bottom:-3px;
		width:35%;
		border-bottom:3px solid #003664;
	}
	.ttl span {
		margin:0 0 0 4%;
		font-size: 12px;
	}
	/*------------------------------ 下層ページ コンテンツタイトル ----------*/
	.ttl-m {
		letter-spacing: 0;
		font-size: 1.3rem;
		padding:0 0 1% 2%;
		border-bottom:2px solid #b0c1cf;
	}
	.ttl-m:after {
		width:35%;
	}
	.ttl-m span {}
	
	/*---------- 下層ページ sectionタイトル ----------*/
	.ttl-sec {
		padding:3% 1%;
		margin-bottom:6%;
		font-size: 1.3rem;
	}
	.ttl-sec:before {
		width:35%;
	}

	main {
		position: relative;
		clear:both;
		overflow: hidden;
		display: block;
		min-height: 500px;
	}

	.new {
		color:rgba(187,0,3,1.00);
		font-weight: 700;
		display: inline-block;
		margin-left:5px;
	}

	/*-----------------------------------------------------------------------------------------
		リンク
	-----------------------------------------------------------------------------------------*/
	#link {
		padding:10% 0;
	}
	#link ul.link {
		margin:5% 2% 10% 2%;
	}
	#link ul.link li {
		width:48.5%;
		margin:0 3% 3% 0 ;
	}
	#link ul.link li img {
		width:100%;
		height: auto;
	}
	#link ul.link li:nth-child(2n) {
		margin-right:0;
	}

	#link ul.link li:last-child {}

	/*-----------------------------------------------------------------------------------------
		footer
	-----------------------------------------------------------------------------------------*/
	footer {
		padding:6% 0 0 0;
	}
	/*------------------------------ コピーライト ----------*/
	footer small {
		line-height: 150% !important;
		padding:2% 5%;
		font-size: 10px;
		text-align: left;
	}

	/*------------------------------ 住所等 ----------*/
	.fWrap {
		margin:0;
		width:100%;
	}
	.fBox-L {
		width:94%;
		float:none;
		margin:0 auto 4% auto;
	}
	.fBox-L .logo-f {
		margin:0 0 2% 0;
		width:60%;
	}
	.fBox-L .logo-f img {
		width:100%;
		height: auto;
	}
	.fBox-L p {
		font-size: 12px;
	}
	.fBox-L p a.fblink {
		text-decoration: none;
		padding-left:25px;
		line-height: 20px;
		display: block;
	}
	/*------------------------------ フッターリンク ----------*/
	#fnav {
		display: none;
		/*
		float:none;
		width:100%;
		border-left:1px solid #eef2f5;
		border-bottom:1px solid #eef2f5;
		*/
	}
	#fnav ul li {
		/*
		float:left;
		width:50%;
		margin:0;
		padding-left:25px;
		border-top:1px solid #eef2f5;
		line-height: 40px;
		*/
	}
	#fnav ul li:before {}
	#fnav ul li:nth-child(2n) {}
	#fnav ul li:nth-child(5),
	#fnav ul li:last-child {}

	/*------------------------------ トップスクロールボタン ----------*/
	#pageTop {
		position:absolute;
		top:-50px;
		width:60px;
		height:50px;
		font-size: 12px;
	}
	#pageTop a {
		padding-top:25px;
	}
	#pageTop a:before {
		position: absolute;
		content:'';
		top:13px;
		left: 25px;
		width: 10px;
		height: 10px;
	}

	/*-----------------------------------------------------------------------------------------
		パン屑
	-----------------------------------------------------------------------------------------*/
	#pan {
		padding:2%;
		margin-bottom:5%;
	}
	#pan:after {
		width:35%;
	}
	#pan ol {}
	#pan ol li {
		line-height: 150%;
	}
	#pan ol li:after {}
	#pan ol li:last-child:after {}

	/*-----------------------------------------------------------------------------------------
		ページング
	-----------------------------------------------------------------------------------------*/
	.pagination {
		margin:0 0 15% 0;
		font-size:11px;
		line-height:13px;
	}
	.pagination span,
	.pagination a {
		display:block;
		float:left;
		margin: 0;
		text-decoration:none;
		width:60px;
		line-height: 60px;
		color:#003664;
		background:#ffffff;
		-webkit-box-sizing: border-box;
				box-sizing: border-box;
	}
	.pagination a:hover{
		color:#fff;
		background: #003664;
	}
	.pagination .current{
		background: #003664;
		color:#fff;
	}
	/*
	.prev {
		position: relative;
		float:left;
		width:48%;
		text-align: left;
	}
	.next {
		position: relative;
		float:right;
		width:48%;
		text-align: right;
	}
	*/
}



/*-----------------------------------------------------------------------------------------
	デバイス出し分け
-----------------------------------------------------------------------------------------*/
@media only screen and (min-width: 681px) {
	.sp-only{
		display: none;
	}
}

@media only screen and (max-width: 680px) {
	.pc-only{
		display: none;
	}
}


/*-----------------------------------------------------------------------------------------
吹き出し
-----------------------------------------------------------------------------------------*/
.c-voice{
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: flex-end;
    gap: 20px;
}
.c-voice-reverse{
    direction: rtl;
}
.c-voice__image{
    text-align: center;
}
.c-voice__name{
    margin: 10px 0 0;
    font-size: 20px;
    line-height: 1.2;
}
.c-voice__name small{
    font-size: 14px;
}
.c-voice__text{
    padding: 25px;
    background-color: var(--color);
    border-radius: 20px;
    direction: ltr;
}
.c-voice__text p + p{
    margin: 10px 0 0;
}
.c-voice__note{
    font-size: 12px;
}

@media only screen and (max-width: 680px) {

    .c-voice{
        grid-template-columns: auto;
        align-items: inherit;
        gap: 20px;
    }
    .c-voice-reverse{
        direction: ltr;
    }
    .c-voice__name{
        font-size: 16px;
    }
    .c-voice__text{
        padding: 20px;
        border-radius: 10px;
    }
    .c-voice__text p + p{
        margin: 10px 0 0;
    }
}