@charset "UTF-8";

/* basic settings */
html, body, h1, h2, h3, h4, h5, h6,
a, p, span, em, small, strong, sub, sup,
mark, del, ins, strike, abbr, dfn,
blockquote, q, cite, code, pre,
ol, ul, li, dl, dt, dd,
div, section, article,
header, main, aside, nav, footer,
img, figure, figcaption,
address, time,
audio, video,
canvas, iframe,
details, summary,
fieldset, form, label, legend,
table, caption,tbody, tfoot, thead,tr, th, td {margin:0; padding:0; border:0;}

html {font-size:62.5%; width:100%; min-width:320px; min-height:100%; -webkit-text-size-adjust:100%;}
body {font-size:16px; line-height:1.5; width:100%; min-height:100%; min-width:320px; overflow-x:hidden; color:#000; background:#FFF; font-family:'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, sans-serif;}
* {box-sizing:border-box; font-family:inherit; font-size:inherit; line-height:inherit;}
*:before, *:after {box-sizing:inherit;}
article, aside, footer, header, nav, section, main {display:block;}
a, a:visited, a img {color:inherit; transition:all .3s;}
table {border-collapse:collapse; border-spacing:0;}
ol, ul {list-style:none;}
img, video {max-width:100%;}
img {border-style:none; vertical-align:middle;}
blockquote, q {quotes:none;}
	blockquote:after, blockquote:before, q:after, q:before {content:""; content:none;}
[hidden] {display:none !important;}
[disabled] {cursor:not-allowed;}
:focus:not(:focus-visible) {outline:none;}

/* local class */
.red {color:#F00;}
.blue {color:#165EA2;}
.green {color:#060;}
.tar {text-align:right;}
.tal {text-align:left;}
.tac {text-align:center;}
.f8 {font-size:8px;}
.f9 {font-size:9px;}
.f10 {font-size:1px;}
.f11 {font-size:11px;}
.f12 {font-size:12px;}
.f13 {font-size:13px;}
.f14 {font-size:14px;}
.f15 {font-size:15px;}
.f16 {font-size:16px;}
.f18 {font-size:18px;}
.f20 {font-size:20px;}
.f22 {font-size:22px;}
.f24 {font-size:24px;}
.f26 {font-size:26px;}
.f28 {font-size:28px;}
.f32 {font-size:32px;}
.f36 {font-size:36px;}
.f42 {font-size:42px;}
.fg {font-family:Arial, Helvetica, "sans-serif";}

/* responsible settings */
#globalcheck[type="checkbox"] {display:none; }
#globalnav-close {display:none; height:100%; top:0; bottom:0; position:fixed; right:0; left:0; padding:0; background-color:#FFF; z-index:2; transition:transform 0.5s ease-in-out; cursor:pointer;}


/* layout settings */
#wrapper {width:100%; min-height:100%; z-index:0; transition:transform 0.5s ease-in-out;}

header {width:100%; text-align:center;}
	nav {display:flex; justify-content:space-between; width:100%; padding:0; margin:0 auto; align-items:center;}
	#hlogo {display:flex; align-items:center; width: 100%; max-width: 300px;}
		#hlogo img {padding-left: 10px; }

main {display:block; width:100%; text-align:center;}

#layout {padding-bottom:20px; background: #FFF;}

footer {width:100%; text-align:center; padding:10px 0; background:url("../images/footer-bg.jpg") no-repeat center / cover;}
	footer ul {display:flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start;  width:100%; max-width:1200px; margin:0 auto; padding:5px 0; font-size:15px; text-align:center;}
	.finfo { font-size: 15px; width: 100%; padding:10px 0;}
		.finfo strong { display: inline-block; font-size: 24px; padding: 10px 0;}
		.finfo a { color:#393290; text-decoration: underline;}
			.finfo a:hover { color:#666; text-decoration: none;}
	.finquiry { width: 100%; padding:10px 20px;}
		a.finquiry-tel { display: inline-block; padding:20px 0;}
		a.finquiry-btn { display: inline-block; width: 280px; margin: 10px auto; padding: 12px 0; text-align: center; color:#333; text-decoration: none; font-weight: bold; border-radius: 40px; border: 1px solid #9A9A9A;background: rgba(154,154,154,0);}
			a.finquiry-btn:hover { color:#FFF; background: rgba(154,154,154,1);}

.pagetop {display:none; position:fixed; text-decoration:none; text-align:center; font-family:Arial, Helvetica, "sans-serif";}

#title {display:flex; justify-content:center; align-items:center; width:100%; padding: 0 20px; background:url("../images/title-bg.jpg") no-repeat center / cover;}
	#title h1 {max-width:1080px; width: 100%; padding:20px 0; margin:0; text-align:center; font-size: 24px; line-height: 24px;}
	#title h1 span { font-size: 12px; line-height: 20px; color:#999;font-weight: normal;}

h2.title { display: block; padding:20px 0 0 0; font-size:20px; text-align: center; }
h2.title span { font-size: 12px; font-weight: normal; color: #999;}

.pagenavi {width:100%; clear:both; padding:20px 0;}
	.pagenavi p {display:flex; flex-wrap:wrap; justify-content:flex-start; font-size:12px; line-height:2em; padding:0; margin:0; text-align:center;}
	.pagenavi a {min-width:3em; padding:5px 2px; margin:0 0 5px 5px; color:#333; text-decoration:none; background:#CCC; white-space:nowrap;}
			.pagenavi a:hover {color:#FFF; background:#555;}
	.pagenavi strong {min-width:3em; padding:5px 2px; margin:0 0 5px 5px; color:#FFF; text-decoration:none; background:#555; white-space:nowrap;}

.inner960, .inner1080, .inner1200 {padding:20px; margin:0 auto; text-align:center;}
	.inner960 {max-width:1000px;}
	.inner1080 {max-width:1120px;}
	.inner1200 {max-width:1240px;}


/* 320 + settings */
@media all and (min-width:320px){
	header {height:80px;}
	.inner960, .inner1080, .inner1200 {padding:20px;}
	#title { height:150px;}
}

/* 640 + settings */
@media all and (min-width:640px){
	.inner960, .inner1080, .inner1200 {padding:30px 20px;}
	#title { height:200px;}
	#hlogo a { font-size: 13px;}
}

/* 960- settings */
@media all and (max-width:960px){
	.onlypc {display:none;}

	input#globalcheck[type="checkbox"]:checked ~ #wrapper {transform:translateX(-300px); opacity:.2;}
	input#globalcheck[type="checkbox"]:checked ~ #globalnav {transform:translateX(-300px); }
	input#globalcheck[type="checkbox"]:checked ~ #globalnav-close {transform:translateX(-300px); display:block; opacity:0;}

	#globalnav {background:#FFF; border-left:1px solid #999; position:fixed; top:0; bottom:0; right:-300px; padding:0; width:299px; height:100%; overflow-y:auto; z-index:2; transition:transform 0.5s ease-in-out;}
		#globalnav p {display:block; box-sizing:border-box; width:100%; padding:10px; border-top:1px solid #CCC; font-size:16px; }
			#globalnav p a {display:flex; justify-content:space-between; color:#333; text-decoration:none; padding-left:20px; padding-right:10px;}
				#globalnav p a::after {content:" 〉"; font-weight:bold;}
			#globalnav ul {padding:0 0 15px 40px;}
				#globalnav li {padding:2px 0; font-size:14px;}
					#globalnav li::before {content:"+ ";}
				#globalnav li a {padding:5px 0; text-decoration:none;}
					#globalnav li a:hover {text-decoration:underline;}

	header {height:80px;}
		#hnavsp {width:80px; padding:0; }
			#hnavsp p {margin:0; padding:0; text-align:center; color:#333;}
			#hnavsp label {display:block; width:80px; height:80px; padding:26px 20px 0 20px; text-align:center; font-size:12px; cursor:pointer;}
				#hnavsp span {display:block; width:100%; height:4px; border-radius:0; margin-bottom:8px; background:#000;}

	.pagetop {width:100%; bottom:0; left:0; padding:10px 0; border-top:1px solid #FFF; color:#FFF; background:#555;}
		.pagetop:before {content:"PAGE TOPへ"; font-size:12px;}
		.pagetop:hover {color:#FFF; background:#00417E;}

	#wrapper {padding-bottom:44px;}
}


/* 960px+ settings */
@media all and (min-width:960px) {
	.onlysp {display:none;}
	header {height:auto;}
	nav { height: 80px; max-width:1200px;}
	#hnavpc { display: flex; justify-content: flex-end; align-self: flex-start;}
		#hnavpc ul { display: flex; justify-content:flex-end;}
			#hnavpc li a { display: block; padding:28px 21px 0 8px; color:#000; text-decoration: none; font-size:15px; border-left: 1px solid #FFF; white-space: nowrap;}
			#hnavpc li.active a { color:#00417E; border-left: 1px solid #7FB8DF;}
			#hnavpc li a:hover { color:#00417E; border-left: 1px solid #7FB8DF;}
		#hnavpc p { padding:0 8px;}

	#menu {display:flex; justify-content:space-between; width:100%; max-width:1200px; margin:0 auto;}
		#menu p {display:block; width:calc(100% / 7 - 1px); }
			#menu p a {display:block; padding:10px 0; text-decoration:none; color:#000; background: #FFF;}
				#menu p a:hover {color:#FFF;  background: #00417E;}
			#menu p.active a { background: #00417E;}

	.pagetop {bottom:30px; right:30px; width:80px; height:80px; border:1px solid #FFF; border-radius:100px; color:#333; background:#EEE;}
		.pagetop:after {content:"PAGE TOP"; display:block; padding:0; font-size:12px;}
		.pagetop:before {content:"↑"; display:block; padding:14px 0 0 0; font-size:14px;}
		.pagetop:hover {color:#FFF; background:#00417E;}
	
	.pagenavi p {justify-content:center;}

	.inner960, .inner1080, .inner1200 {padding:40px 20px;}

	.finfo { width:50%; text-align: left;}
	.finquiry { width:45%; text-align: right; order:+1;}
}

/* print only settings */
@media print{
	.pagetop {display:none;}
}