@charset "UTF-8";

html {
	overflow-y: scroll;
	font-size: 100%;
}

body {
	margin: 0;
	padding: 0;
	line-height: 1.6;
	letter-spacing: 1px;
	font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	font-size: .95em;
	color: #333;
	background-color: #fff;
	overflow-x: hidden;
	position: relative;
	width: 100%;
	-webkit-text-size-adjust: 100%;
}

br {
	letter-spacing: normal;
}

a {
	color: #4a9f5e;
	text-decoration: none;
}

a:link {
    color: #4a9f5e;
    text-decoration: none;
}
a:visited {
    color: #4a9f5e;
    text-decoration: none;
}
a:hover {
    color: #4a9f5e;
    text-decoration: underline;
}
a:active {
    color: #4a9f5e;
    text-decoration: none;
}

img {
	border: 0;
	vertical-align: bottom;
}

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

p {
	margin: 10px 0;
}

ul, ol {
	margin: 0;
}

dl {
	margin: 10px 0;
}

input, select {
    vertical-align: top;
}

/* iOSデフォルトスタイルリセット */
input[type="submit"], 
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration, 
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus, 
input[type="button"]::focus {
	outline-offset: -2px;
}

.wrapper {
	width: 100%;
	margin: 0 auto;
}

#header {
	position: fixed;
    background-color: #fff;
    width: 100%;
	z-index: 8000;
}

#header .wrapper {
	position: relative;
}

#header #title {
	height: 49px;
    margin: 0 auto;
    width: 100%;
}

#header h1 {
	position: relative;
	padding: 12px 0 0 0;
	margin: 0 0 0 10px;
}

#header h1 a {
	color: #6aba7d;
}
#header h1 a:link, 
#header h1 a:visited, 
#header h1 a:hover, 
#header h1 a:active {
    text-decoration: none;
}

#menu-cb {
	display: none;
}

#header #menu-icon {
	position: absolute;
	right: 0;
	top: 0;
	cursor: pointer;
}

#menu-cb:checked ~ #header #menu-icon, 
#menu-cb:checked ~ #header #nav>ul {
	display: block;
}

#okazaki {
	font-size: 1.3rem;
	margin: 0 3px 0 0;
}

#line2 {
	position: relative;
}

#syarou {
	font-size: 0.8rem;
	line-height: 0.9rem;
	position: relative;
	top: -13px;
	left: 0;
	padding: 0;
}

#gyosei {
	font-size: 0.8rem;
	line-height: 0.9rem;
	width: 127px;
	position: absolute;
	top: 7px;
	left: 0;
	padding: 0;
}

#gyosei #space {
	letter-spacing: 0.93rem;
}

#office {
	font-size: 1.3rem;
	margin: 0 0 0 3px;
}

#header #nav {
	position: absolute;
	right: 0;
	top: 0;
	margin: 0;
	width: 49px;
	z-index: 9000;
	/* background-color: #6aba7d; */
	height: 42px;
}

/* #header #nav .wrapper {
	width: 100%;
	margin: 0 auto;
	position: relative;
	top: 0;
} */

#header #nav ul {
	display: none;
	margin: 49px 0 0 0;
	padding: 2px 0 0 2px;
	list-style-type: none;
	width: 160px;
	/* height: 240px; */
	border-left: 1px #fff solid;
	background-color: #6aba7d;
}

#header #nav li {
	/* float: left; */
	margin: 0 0 0 0;
	padding: 0;
	width: 148px;
	height: 29px;
	line-height: 31px;
	font-size: 16px;
	text-align: center;
	position: relative;
	top: 0;
	background-color: #6aba7d;
	border: 4px solid #6aba7d;
}

#header #nav li.last {
/*	margin: 0;
	border-right: none;*/
}

#header #nav li a {
	color: #fff;
/*	width: 160px;*/
	height: 34px;
	display: block;
}
#header #nav li a:link, 
#header #nav li a:visited, 
#header #nav li a:hover, 
#header #nav li a:active {
	color: #fff;
    text-decoration: none;
}

#header #nav li span.sub_menu {
	color: #fff;
	height: 34px;
	display: block;
    cursor: default;
}

#header #nav #nav_rosai_sub {
	z-index: 9010;
	display: none;
	position: absolute;
	left: -164px;
	top: -28px;
	width: 160px;
	height: 88px;
}
#header #nav #nav_rosai_sub .sankaku {
	display: none;
	width: 0;
	height: 0;
	border: 10px solid transparent;
	border-right: 8px solid #95d0df;
	position: absolute;
	right: 0;
	top: 34px;
}
#header #nav #nav_rosai_sub div {
	background-color: #fff;
	border: 4px solid #95d0df;
	width: 148px;
	height: 80px;
	margin-top: 0;
}
#header #nav #nav_rosai_sub p {
	border: 4px solid #95d0df;
	margin: 4px;
	width: 132px;
	height: 26px;
	text-align: center;
	line-height: 30px;
	color: #fff;
	background-color: #95d0df;
}
#header #nav #nav_rosai_sub .migi_sankaku {
	width: 0;
	height: 0;
	border: 7px solid transparent;
	border-left: 7px solid #fff;
	display: block;
	position: absolute;
	left: 12px;
	top: 11px;
}
#header #nav li #nav_rosai_sub a {
	width: 142px;
	height: 26px;
	display: block;
	margin: 0 0 12px 0;
	position: relative;
}

#header #nav #nav_nenkin_sub {
	z-index: 9011;
	display: none;
	position: absolute;
	left: -164px;
	top: -28px;
	width: 160px;
	height: 88px;
}
#header #nav #nav_nenkin_sub .sankaku {
	width: 0;
	height: 0;
	border: 10px solid transparent;
	border-right: 8px solid #c0d860;
	position: absolute;
	right: 0;
	top: 34px;
}
#header #nav #nav_nenkin_sub div {
	background-color: #fff;
	border: 4px solid #c0d860;
	width: 148px;
	height: 80px;
	margin-top: 0;
}
#header #nav #nav_nenkin_sub p {
	border: 4px solid #c0d860;
	margin: 4px;
	width: 132px;
	height: 26px;
	text-align: center;
	line-height: 30px;
	color: #fff;
	background-color: #c0d860;
}
#header #nav #nav_nenkin_sub .migi_sankaku {
	width: 0;
	height: 0;
	border: 7px solid transparent;
	border-left: 7px solid #fff;
	display: block;
	position: absolute;
	left: 12px;
	top: 11px;
}
#header #nav li #nav_nenkin_sub a {
	width: 142px;
	height: 26px;
	display: block;
	margin: 0 0 12px 0;
	position: relative;
}


#header #nav #nav_kyoninka_sub {
	z-index: 9012;
	display: none;
	position: absolute;
	left: -164px;
	top: -28px;
	width: 160px;
	height: 88px;
}
#header #nav #nav_kyoninka_sub .sankaku {
	width: 0;
	height: 0;
	border: 10px solid transparent;
	border-right: 8px solid #6aba7d;
	position: absolute;
	right: 0;
	top: 32px;
}
#header #nav #nav_kyoninka_sub div {
	background-color: #fff;
	border: 4px solid #6aba7d;
	width: 148px;
	height: 80px;
	margin-top: 0;
}
#header #nav #nav_kyoninka_sub p {
	border: 4px solid #6aba7d;
	margin: 4px;
	width: 132px;
	height: 26px;
	text-align: center;
	line-height: 30px;
	color: #fff;
	background-color: #6aba7d;
}
#header #nav #nav_kyoninka_sub .migi_sankaku {
	width: 0;
	height: 0;
	border: 7px solid transparent;
	border-left: 7px solid #fff;
	display: block;
	position: absolute;
	left: 12px;
	top: 11px;
}
#header #nav li #nav_kyoninka_sub a {
	width: 142px;
	height: 26px;
	display: block;
	margin: 0 0 12px 0;
	position: relative;
}



#main {
	background-color: #f2f2f2;
	padding: 49px 0 30px 0;
}

#main .wrapper {
	position: relative;
	top: 20px;
/*	padding: 0 0 20px 0;*/
}


#head.wrapper {
	background-color: #fff;
	position: static;
	top: 0;
}

#sub_title {
	padding: 10px 0 0 10px;
	margin: 0 15px 15px 15px;
	font-size: 0.82rem;
	color: #00824e;
}

#contact {
	width: 260px;
	padding: 0 0 20px 0;
	margin: 0 25px 0 auto;
}
#contact>img {
	width: 100%;
	/* height: 105px; */
	display: none;
}
/*
#contact a {
	width: 450px;
	height: 105px;
	display: block;
}

#contact_frame {
	position: relative;
}

#contact_frame #contact_title {
	position: absolute;
	top: -6px;
	left: 45px;
	color: #fff;
	font-size: 12px;
}

#contact_frame #contact_tel {
	position: absolute;
	top: 14px;
	left: 65px;
	color: #6aba7d;
	font-size: 24px;
	font-weight: bold;
}

#contact_frame #contact_time {
	position: absolute;
	top: 40px;
	left: 67px;
	color: #6aba7d;
	font-size: 12px;
}
#contact_frame #contact_time b {
	font-weight: bold;
	font-size: 14px;
}

#contact_frame #contact_sub {
	position: absolute;
	top: 68px;
	left: 111px;
	color: #fff;
	font-size: 12px;
}

#contact_frame #contact_mail {
	position: absolute;
	top: 28px;
	left: 300px;
	color: #6aba7d;
	font-size: 11px;
	line-height: 12px;
}
*/



#footer {
	background-color: #6aba7d;
	color: #fff;
	padding: 10px 0;
	line-height: 1.2;
	clear: left;
}

#footer .wrapper {
	position: relative;
}

#footer address {
	font-style: normal;
	width: 244px;
	margin: 0 auto 20px auto;
}

#footer address strong {
	font-size: 18px;
}

#footer address span.fax {
	white-space: nowrap;
}

#footer address a {
	color: #fff;
}

#copyright {
	/* position: absolute;
	bottom: 0;
	right: 0; */
	text-align: center;
}

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

/* スクロールアップ */
#scrollUp {
	bottom: 20px;
	right: 20px;
	background: #6aba7d;
	color: #fff;
	font-size: 10pt;
	font-family: sans-serif;
	text-decoration: none;
	opacity: .9;
	padding: 10px 20px;
	border: 1px solid #ddd;
	-webkit-border-radius: 16px;
	-moz-border-radius: 16px;
	border-radius: 16px;
	-webkit-transition: background 200ms linear;
	-moz-transition: background 200ms linear;
	transition: background 200ms linear;
}
#scrollUp:hover {
	background: #268848;
}

/* html {
	width: 280px;
} */



@media print, screen and (min-width:470px) {

	#header {
		height: 49px;
	}

	/* #header .wrapper {
		overflow: hidden;
	} */

	#header h1 {
		height: 54px;
		padding: 0 0 0 0;
		margin: -5px 0 0 15px;
		overflow: hidden;
	}

	/* #header h1 a {
		display: inline-block;
		height: 100%;
	} */

	#okazaki {
		/* display: inline-block;
		height: 49px; */
		font-size: 2.5rem;
	}

	#syarou {
		font-size: 1.06rem;
		line-height: 1.2rem;
		top: -20px;
	}

	#gyosei {
		font-size: 1.06rem;
		line-height: 1.2rem;
		top: 0;
	}

	#office {
		/* display: inline-block;
		height: 49px; */
		font-size: 2.5rem;
	}


	#sub_title {
		padding: 5px 0 0 0;
	}

	#sub_title>br {
		display: none;
	}
	

	#contact {
		width: 450px;
		margin: 0 10px 0 auto;
	}



	#footer address {
		width: 370px;
	}

	#footer address>br.sp {
		display: none;
	}


}


@media print, screen and (min-width:640px) {

	#footer address {
		margin: 0 0 20px 25px;
	}

	#copyright {
		text-align: right;
		margin: 0 25px 0 0;
	}

	#copyright>small>br {
		display: none;
	}

}


@media print, screen and (min-width:700px) {

	#header #title {
		/* height: 150px; */
	}

	/* #contact {
		width: 260px;
		height: 105px;
	} */

}


@media print, screen and (min-width:850px) {

	#header h1 {
		padding: 0 0 0 0;
		margin: 0 0 0 25px;
	}


	#head.wrapper {
		height: 140px;
	}

	#sub_title {
		padding: 20px 0 0 0;
		margin: 0 15px 15px 25px;
	}

	#contact {
		position: absolute;
		right: 0;
		top: 65px;
		margin: 0 25px 0 auto;
	}

	





}


@media print, screen and (min-width:900px) {

	#header #title {
		/* height: 120px; */
	}


	/* #contact {
		right: 60px;
		width: 450px;
		height: auto;
	} */



}


@media print, screen and (min-width:1004px) {

	body {
		font-size: 0.8745rem;
	}
	

	#header {
		position: static;
		padding: 10px 0 0 0;
	}



	#header #title {
		/* height: 150px; */
	}

	#header h1 {
		width: 502px;
		padding: 0 0 0 0;
		margin: 30px auto 0 calc((100vw - 1004px) / 2);
		height: 90px;
		z-index: 8050;
	}

	nav ul {
		display: block;
	}

	#menu-cb:checked ~ #header #menu-icon {
		display: none;
	}
	#header #menu-icon {
		display: none;
	}


	#header #nav {
		position: static;
		top: auto;
		right: auto;
		margin: 0;
		width: auto;
		z-index: 9000;
		background-color: #6aba7d;
		height: 42px;
	}

	#header #nav ul {
		margin: 0 auto;
		padding: 0;
		list-style-type: none;
		width: 1002px;
		height: 42px;
		border-left: 1px #fff solid;
		background-color:#fff;
	}

	#header #nav li {
		float: left;
		margin: 0 1px 0 0;
		padding: 0;
		width: 158px;
		height: 34px;
		line-height: 36px;
		font-size: 16px;
		text-align: center;
		position: relative;
		top: 0;
		background-color: #6aba7d;
		border: 4px solid #6aba7d;
	}
	#header #nav li.last {
		margin: 0;
	}


	#header #nav li#nav_home {
		width: 80px;
	}
	#header #nav li#nav_rosai {
		width: 148px;
	}
	#header #nav li#nav_nenkin {
		width: 148px;
	}
	#header #nav li#nav_kyoninka {
		width: 148px;
	}
	#header #nav li#nav_flow {
		width: 139px;
	}
	#header #nav li#nav_business {
		width: 138px;
	}
	#header #nav li#nav_contact {
		width: 138px;
	}

	#header #nav #nav_rosai>a, 
	#header #nav #nav_nenkin>a {
		height: 167px;
	}


	#header #nav #nav_rosai_sub {
		left: -4px;
		top: 38px;
		width: 148px;
		height: 99px;
	}
	#header #nav #nav_rosai_sub .sankaku {
		border: 8px solid transparent;
		border-top: 10px solid #95d0df;
		left: 71px;
		top: 0;
	}
	#header #nav #nav_rosai_sub div {
		margin-top: 11px;
	}

	#header #nav #nav_nenkin_sub {
		left: -4px;
		top: 38px;
		width: 148px;
		height: 99px;
	}
	#header #nav #nav_nenkin_sub .sankaku {
		border: 8px solid transparent;
		border-top: 10px solid #c0d860;
		left: 71px;
		top: 0;
	}
	#header #nav #nav_nenkin_sub div {
		margin-top: 11px;
	}
		
	#header #nav #nav_kyoninka_sub {
		left: -4px;
		top: 38px;
		width: 148px;
		height: 99px;
	}
	#header #nav #nav_kyoninka_sub .sankaku {
		border: 8px solid transparent;
		border-top: 10px solid #6aba7d;
		position: absolute;
		left: 71px;
		top: 0;
	}
	#header #nav #nav_kyoninka_sub div {
		margin-top: 11px;
	}
	



	#main {
		padding: 0 0 30px 0;
	}

	#head.wrapper {
		height: 114px;
		display: block;
	}

	#sub_title {
		width: 1004px;
		padding: 0 0 0 0;
		margin: 0 auto 0 calc((100vw - 1004px) / 2);
		position: absolute;
		left: 0;
		right: 0;
		top: 20px;
		z-index: 8010;
	}

	#contact {
		left: auto;
		right: calc((100vw - 1004px) / 2);
		top: 5px;
		margin: 0 0 0 0;
		z-index: 8020;
	}


	#footer .wrapper {
		width: 1000px;
	}




}



/* =========================================================
   スマホ用 電話発信フッター
   縦向き かつ 横幅480px未満のスマホでのみ画面下部に固定表示する。
   横向き（表示領域が狭い）や 横幅480px以上では非表示。
   ========================================================= */
#sp-call-footer {
	display: none;
}

@media screen and (orientation: portrait) and (max-width: 479px) {

	#sp-call-footer {
		display: block;
		position: fixed;
		left: 0;
		bottom: 0;
		z-index: 9000;
		box-sizing: border-box;
		width: 100%;
		padding: 8px 10px;
		background-color: #fff;
		border-top: 2px solid #6aba7d;
		text-align: center;
	}

	#sp-call-footer a,
	#sp-call-footer a:link,
	#sp-call-footer a:visited,
	#sp-call-footer a:hover,
	#sp-call-footer a:active {
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 100%;
		max-width: 360px;
		margin: 0 auto;
		padding: 12px 10px;
		background-color: #ffa84e;
		color: #663300;
		font-size: 1.1rem;
		font-weight: bold;
		line-height: 1.2;
		text-align: center;
		text-decoration: none;
		border-radius: 8px;
	}

	/* 「お電話はこちらをタップ」左側の電話アイコン（Font Awesome 5 Free phone-square-alt の公式SVG） */
	#sp-call-footer .sp-call-icon {
		width: 1.3em;
		height: 1.3em;
		margin-right: 0.45em;
		flex-shrink: 0;
		fill: currentColor;
	}

	/* 固定フッターの高さ分、コンテンツ末尾が隠れないよう余白を確保 */
	body {
		padding-bottom: 70px;
	}

	/* スクロールアップボタンを固定フッターの上へ退避 */
	#scrollUp {
		bottom: 84px;
	}

}

