@charset "utf-8";

/*全般設定
------------------------------------------------------------------------------------------
■基本的に各ページ毎に
・base.css（リセットcssとbody,container等全体共通のcss、ヘッダー・フッター・左サイドのナビバーのcss）、
・ページ別のcss（トップページならtop_page.cssとか、各コンテンツのトップページならcontents_top_page_other.cssとか、ページのコンテンツ部分のcss）
を読み込んでもらうように作ってあります。
------------------------------------------------------------------------------------------*/

/*リセットCSS開始
------------------------------------------------------------------------------------------*/
main {
  display:block; /* IE対策に追加 */
}
html {
/* 	font-size:62.5%; */
	font-size:calc(10vw/9.8) ;
}
body {
	-webkit-text-size-adjust: 100%;
}
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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

html{
    overflow-y: scroll;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

input, textarea {
	margin: 0;
	padding: 0;
}

ol, ul{
    list-style:none;
}

table{
    border-collapse: collapse; 
    border-spacing:0;
}

caption, th{
    text-align: left;
}

a:focus {
	outline:none;
}

.clearfix:after {
  content: '';
  display: block;
  clear: both;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

.both{
	clear:both;
}

.inline_block {  
	display: inline-block;  
/* 	*display: inline;  
	*zoom: 1;   */
}
/*リセットCSS終了
------------------------------------------------------------------------------------------*/

/*body,container,全体共通のCSS開始
------------------------------------------------------------------------------------------*/
html {
	scroll-behavior:smooth;
}
body {
	color: #111;
	font-family: "メイリオ", Meiryo, Osaka, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
	line-height:1.7;
	background: #F1F8FE;
}
.container {
	margin: 0px auto;
	width: 980px;
	background: #fff;
	padding-bottom:20px;
}
div#limit_of_side_navi {
	position:relative;
	margin-bottom:20px;
}
.indent {
	text-indent:1em;
}
.center {
	text-align:center;
}
.align-right {
	text-align:right;
}
.f_right {
	float:right;
}
.f_left {
	float:left;
}
.orange {
	color:#FF3300;
}
a:hover img {
	opacity: 0.7;
}
a:hover {
	font-weight:bold;
}
a:hover li ,
a:hover p ,
a:hover dd ,
a:hover h1 ,
a:hover h2 ,
a:hover h3 {
	font-weight:bold;
}
strong {
	font-weight:bold;
}
img{
	vertical-align:bottom;
	margin-bottom:8px;
}
p.pankuzu {
	font-size:16px;
	color:#535353;
	margin:10px 0 10px;
}
p.pankuzu a{
	color:#535353;
	padding:0 5px;
}
p.pankuzu a:hover {
	color:#0000f0;
	text-decoration:none;
}
ol.BreadcrumbList {
	font-size:16px;
	margin-top:4px;
	margin-bottom:6px;
	padding-left:5px;
}
ol.BreadcrumbList li {
	display:inline;
}
ol.BreadcrumbList li::after {
	content:">";
	padding-left:7px;
}
ol.BreadcrumbList li:last-child::after {
	content:none;
}
ol.BreadcrumbList a:hover {
	color:#0000f0;
	text-decoration:none;
}



/*body,container,全体共通のCS終了
------------------------------------------------------------------------------------------*/

/*ヘッダー部分開始
------------------------------------------------------------------------------------------*/
header div.header_img_bg{
	background-color:#0092d6;
}
header div.header_pro{
	max-width:250px;
}
header img {
	margin:0;
}
header nav ul {
	display:flex;
}
header nav ul li a {
  outline: none;
	color:#FFF;
	text-decoration:none;
	display:block;
}
header nav ul li {
  display: block;
	text-align:center;
	background-color:#558E1F;
	border-right:#FFF solid 1px;
		border-top:#FFF solid 1px;
}
header nav ul li:last-child {
	border-right:none;
}
header nav ul li:nth-child(odd) {
  width: 163px;
}
header nav ul li:nth-child(even) {
  width: 162px;
}
header nav ul li a.line_1 {
	line-height:calc(110vw/9.8);
	font-size:3.5rem;
}
header nav ul li a.line_2 div {
	line-height:calc(42vw/9.8);
	font-size:3.5rem;
}
header nav ul li a.line_2 div.down {
	padding-top:calc(15vw/9.8);
}
header nav ul li a.line_2 div.up {
	padding-bottom:calc(11vw/9.8);
}
header nav ul li:hover {
	background-color:#FFF;
}
header nav ul li a:hover {
	color:#558E1F;
	font-weight:bolder;
}
header nav ul li a:hover div {
	color:#558E1F;
	font-weight:bolder;
}
/*ここまでがヘッダー部分
------------------------------------------------------------------------------------------*/

/*フッター部分開始
------------------------------------------------------------------------------------------*/
footer {
	text-align:center;
	background-color:#F7F7F7;
	border-top:solid 1px #BBB;
	padding-bottom:40px;
	min-width:980px;
	}
footer div.footer_container{
	width:980px;
	margin:0 auto;
}
footer ul.footer_nav {
	margin-top:20px;
}
footer .footer_nav li {
	display:inline-block;
	margin-right:15px;
	padding-left:22px;
	font-size:16px;
	height:45px;
	background:url(../page2-parts/images/arrow_gry.gif) no-repeat 14px 5.5px;
}
footer a {
	text-decoration:none;
}
footer .footer_nav a:hover {
	color:#00103F;
	text-decoration:underline;
	font-weight:bold;
}

footer .footer_nav a {
	color:#777;
}
footer div.g-search-box-annai {
	height:18px;
	margin:5px auto 5px auto;
}
footer div.g-search-box-annai p{
	font-size:16px;
}
footer div.g-search-box {
	width:320px;
	margin:5px auto 20px auto;
}
footer p.copy {
	font-size:16px;
	margin:15px 10px 0;
	line-height:28px;
	color:#333;
}
footer address {
	font-size:16px;
	margin:0 10px 20px;
	line-height:28px;
	color:#333;
}
footer p.text{
	font-size:16px;
	margin:20px 5px;
	color:#333;
}
footer address a{
	color:#333;
}
footer ul.link {
	display:flex;
	flex-wrap:wrap;
}
footer .link li {
  display: block;
	margin:0 auto 10px;
	flex-grow:1;
	max-width:33.125%;
}

	/*ここまでがフッター部分
------------------------------------------------------------------------------------------*/

/*左サイドナビ部分開始
------------------------------------------------------------------------------------------*/
nav#side_navi.sticky {
	position: sticky;
	top: 0px;
}
nav.left_side_list {
	float: left;
	width: 216px;
}
nav.left_side_list > ul {
	margin-top:5px;
}
.left_side_list a{
	text-decoration:none;
	font-size:16px;
}
.left_side_list h2{
	width:205px;
	height:32px;
	padding-left:11px;
	background:#75AE3F url(../page2-parts/images/arrow_white.gif) no-repeat 3px 9px;
	margin-top:3px;
	position:relative;
}
.left_side_list h2.toiawase{
	background-color:#FF7479;
}
.left_side_list h2 > a:hover{
	color:#00103F;
	text-decoration:underline;
}
.left_side_list h2 > a {
	display:block;
	width:205px;
	padding-left:11px;
	height:100%;
	position:absolute;
	top: 0;
	left: 0;
	font-size:22px;
	font-weight:bold;
	color:#FFF;
}
.left_side_list ul.back{
	width:214px;
	border:#999 solid 1px;
	border-top:none;
	background-color:#F7F7F7;
}
.left_side_list .back li{
	color:#00103F;
	padding-left:15px;
	background: url(../page2-parts/images/arrow_gry_s.gif) no-repeat 8px 6px;
	font-size:16px;
}
.left_side_list .back a{
	color:#00103F;
}
.left_side_list .back a:hover{
	text-decoration:underline;
	font-weight:bold;
}
.left_side_list .back a:visited{
	color:#A9409E;
}
.left_side_list .kakaku > li{
	color:#00103F;
	padding-left:15px;
	background: url(../page2-parts/images/sqr_gry_s.gif) no-repeat 6px 6px;
}
	/*ここまでが左サイドナビ部分
------------------------------------------------------------------------------------------*/

/*メニュー・サイトマップページ用サイドナビ形状変更用部分開始
------------------------------------------------------------------------------------------*/
div#sitemap h1 {
	font-size:22px;
	font-weight:bold;
	margin-bottom:10px;
}
div#sitemap nav#side_navi {
	position:static;
}
div#sitemap nav.left_side_list {
	float: none;
	width: auto;
}
div#sitemap nav.left_side_list > ul {
	margin-top:5px;
}
div#sitemap .left_side_list a{
	text-decoration:none;
	font-size:16px;
}
div#sitemap .left_side_list h2{
	width: auto;
	height: auto;
	padding-left:0;
	background:#4FCAF6 url(../page2-parts/images/arrow_white.gif) no-repeat 3px 9px;
	margin-top:3px;
	position:static;
}
div#sitemap .left_side_list h2.toiawase{
	background-color:#FF7479;
}
div#sitemap .left_side_list h2 > a:hover{
	color:#00103F;
	text-decoration:underline;
}
div#sitemap .left_side_list h2 > a {
	display:block;
	width: auto;
	padding-left:11px;
	height:100%;
	position:static;
	font-size:22px;
	font-weight:bold;
	color:#FFF;
}
div#sitemap .left_side_list ul.back{
	width: auto;
	border: none;
	background-color: transparent;
	margin:10px 0;
}
div#sitemap .left_side_list .back li{
	display: inline-block;
	color:#00103F;
	padding-left:15px;
	background: url(../page2-parts/images/arrow_gry_s.gif) no-repeat 8px 6px;
	margin:5px 20px 5px 0;
	font-size:16px;
	width:260px;
	vertical-align:top;
	box-sizing:border-box;
}
div#sitemap .left_side_list .back a{
	color:#00103F;
}
div#sitemap .left_side_list .back a:hover{
	text-decoration:underline;
	font-weight:bold;
}
div#sitemap .left_side_list .back a:visited{
	color:#A9409E;
}
div#sitemap .left_side_list .kakaku > li{
	box-sizing:border-box;
	width: 100%;
	color:#00103F;
	padding-left:15px;
	background: url(../page2-parts/images/sqr_gry_s.gif) no-repeat 6px 6px;
}
div#sitemap .left_side_list .kakaku > li > h3.underborder{
	border-bottom:#ccc solid 1px ;
}
	/*ここまでがメニュー・サイトマップページ用サイドナビ形状変更用部分
------------------------------------------------------------------------------------------*/







/*大画面表示用部分開始
------------------------------------------------------------------------------------------*/

@media screen and (min-width : 980px){
	html {
		font-size:10px;
	}
	header nav ul li a.line_1 {
		line-height:110px
	}
	header nav ul li a.line_2 div {
		line-height:42px;
	}
	header nav ul li a.line_2 div.down {
		padding-top:15px;
	}
	header nav ul li a.line_2 div.up {
		padding-bottom:11px;
	}
}


	/*ここまでが大画面表示用部分
------------------------------------------------------------------------------------------*/


/*スマホ表示用部分開始
------------------------------------------------------------------------------------------*/

@media screen and (max-width : 767px){

/*body,container,全体共通のスマホ表示用CSS開始
------------------------------------------------------------------------------------------*/
	
	img {
		max-width:100%;
		height:auto;
	}
	nav#side_navi {
		display: none;
	}
	.container {
		margin: 0px auto;
		width: 100%;
	}
	ol.BreadcrumbList {
		font-size:14px;
		margin:8px 0 6px 0;
	}


/*headerのスマホ表示用CSS開始
------------------------------------------------------------------------------------------*/

	header div.header_pro{
		width:25.51%;
		height:auto;
	}
	header img.f_left{
		width:57.86%;
		height:auto;
	}
	header a img.f_right_1{
		width:16.63%;
		height:auto;
	}
	header a img.f_right_2{
		width:16.63%;
		height:auto;
	}
	header nav ul {
		flex-wrap:wrap;
	}
	header nav ul li {
		box-sizing:border-box;
	}
	header nav ul li:last-child,li:nth-child(3) {
		border-right:none;
	}
	header nav ul li:nth-child(odd) {
		width: 33.33%;
	}
	header nav ul li:nth-child(even) {
		width: 33.33%;
	}
	header nav ul li a.line_1 {
		line-height:calc(130vw/9.8);
		font-size:5.25rem;
	}
	header nav ul li a.line_2 div {
		line-height:calc(50vw/9.8);
		font-size:5rem;
	}

/*メニュー（サイトマップ画面）のスマホ表示用CSS開始
------------------------------------------------------------------------------------------*/

	div#sitemap nav#side_navi {
		display: block;
	}
	
/*footerのスマホ表示用CSS開始
------------------------------------------------------------------------------------------*/
	
	footer {
		min-width:1px;
		}
	footer div.footer_container{
		width:100%;
		margin:0 auto;
	}
	footer .footer_nav li {
		font-size:14px;
		height:35px;
	}
	footer .footer_nav a:hover {
		text-decoration:none;
		font-weight:normal;
	}
	footer div.g-search-box-annai p{
		font-size:14px;
	}
	footer p.copy {
		font-size:14px;
		line-height:22px;
	}
	footer address {
		font-size:14px;
		line-height:22px;
	}
	footer p.text{
		font-size:14px;
	}

}