@charset "UTF-8";
/*
# normalize

ノーマライズ（リセット）<br>
html5doctor.com Reset Stylesheet
v1.6.1

*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
body {
	line-height:1.6;
	font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Helvetica, sans-serif;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {display:block;}
nav ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
a {
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
del {text-decoration: line-through;}
abbr[title], dfn[title] {
	border-bottom:1px dotted;
	cursor:help;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
hr {
	display:block;
	height:1px;
	border:0;
	border-top:1px solid #625d61;
	margin:1em 0;
	padding:0;
}
input, select {vertical-align:middle;}
li {
	list-style: none;
}

/* iOS用スタイルリセット */
input[type="reset"],
input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="text"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration,
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="reset"]::focus,
input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}
/* iOS用ハック */
_::-webkit-full-page-media, _:future, :root input,
_::-webkit-full-page-media, _:future, :root select,
_::-webkit-full-page-media, _:future, :root textarea {
	/*font-size: 16px;*/
}
/* chrome対応 */
:focus {
	outline: -webkit-focus-ring-color none;
}
/*
# foundation

基本的なセレクタのデフォルトスタイルを定義

*/
html {
	overflow: auto;
	height: 100%;
	font-size: 62.5%; /* 10px */
	-webkit-overflow-scrolling: touch;
}
body {
	-webkit-text-size-adjust: 100%;
	color: #333;
	position: relative;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
body,input,select,textarea {
	font-size: 1.3rem; /* 13px */
}
input,select,textarea {
	max-width: 90%;
	font-family: inherit;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	color: #b4b4b4;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
	color: #b4b4b4;
}
input::-moz-placeholder,
textarea::-moz-placeholder {
	color: #b4b4b4;
}
input[type="submit"] {
	cursor: pointer;
}
input[type="submit"]:hover {
	opacity: .75;
}
select {height: 1.6em;}
a {
	color: #5f5096;
}

h1, h2, h3, h4, h5, h6,th {
	font-weight: normal;
}
header,
footer,
article,
section,
div,nav,aside,
ul,li,
dl,dt,dd {
	box-sizing: border-box;
	position: relative;
}
h1, h2, h3, h4, h5, h6,
p, th, td, span, a, img, 
form, input, textarea, select, label,
small, address {
	box-sizing: border-box;
}
img {
	max-width: 100%;
	max-height: 100%;
	display: block;
}
small {
	font-size: 0.8em;
}
address {
	font-style: normal;
}
label {
	cursor: pointer;
}
p {
	word-break: break-all;
}
@media screen and (min-width: 780px) {
	body,input,select,textarea {
		font-size: 1.4rem; /* 14px */
	}
	a:hover, a img:hover {
		opacity: .75;
	}
}
/*
# layout

ページを構成する基本的なコンテナを定義

*/
.l-body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
.l-body.popup {
	min-width: 260px;
	height: 100vh;
	overflow-x: auto;
	max-width: 100vw;
}
.l-body.popup .l-main {
	width: 90%;
	margin: 5% auto;
}
.l-header {
	width: 100%;
/*	max-width: 960px;
	padding-top: 1em;*/
}
.l-header,
.l-slide,
.l-body {
	margin-left:auto;
	margin-right: auto;
}
.l-header,
.l-slide,
.l-footer,
.l-body {
	min-width: 320px;
}
.l-leftSide {
	padding-left: 1em;
	padding-right: 1em;
	margin-left:auto;
	margin-right: auto;
	width: 320px;
}
.l-lowerContents {
	max-width: 650px;
}
.l-slide {
	margin-bottom: 3em;
	margin-top: 1em;
}
.l-footer {
	margin-top: auto;
}
.l-footerBottom {
	padding:.5em 1em;
}
.l-copyright {
	width: 100%;
	text-align: center;
	display: block;
}
.l-footer__left,
.l-footer__right {
	margin-left:auto;
	margin-right: auto;
}
.l-footer__left {
	width: 320px;
}
.l-footer__right {
	padding-top: 2em;
	width: 270px;
	padding-right: 1em;
	padding-left: 1em;
}
.l-footAddress {
	width: 100%;
	margin-left:auto;
	margin-right: auto;
	margin-bottom: 1em;
}
.l-wrapper {
	width: 100%;
	margin-left:auto;
	margin-right: auto;
	max-width: 960px;
}
@media screen and (max-width: 779px) {
	.l-body:not(.popup) {
		padding-top: 90px;
		min-height: calc(100% - 90px);
	}
	.l-header {
		z-index: 50;
		top: 0;
		position: absolute;
	}
	.is-fixed .l-header {
		position: fixed;
	}
	.l-wrapper.l-2col {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-align-items: flex-start;
		align-items: flex-start;
	}
	.l-2col .l-main {
		width: 100%;
	}
	.l-footer {
		/*height: 53px;*/
		min-height: 53px;
	}
	.l-main {
		min-height: calc(100vh - 143px);
	}
}
@media screen and (min-width: 480px) {
	.l-body.popup .l-main {
		width: 96%;
		margin: 1em auto;
	}
	/*.l-footer {
		padding-top: 2em;
	}*/
}
@media screen and (max-width: 624px) {
	.home .l-leftSide {
		display: none;
	}
	.l-lowerContents {
		width: 100%;
	}
}
@media screen and (min-width: 625px) {
	.l-leftSide {
		width: 250px;
	}
	.l-lowerContents {
		width: calc(100% - 250px);
	}
}
@media screen and (min-width: 780px) {
	.l-body.is-fixed {
		padding-top: 90px;
		min-height: calc(100% - 90px);
	}
	.l-footGuide,
	.l-footInst {
		width: 374px;
	}
	.l-header {
		z-index: 50;
	}
	.u-noScroll .l-header {
		width: calc(100% + 17px);
		padding-right: 17px;
	}
	.is-fixed .l-header {
		position: fixed;
		top: 0;
		max-width: 100%;
		/* 2018.1.18 固定化変更
		height: 90px;
		*/
		height: initial;
		height: auto;
	}
	.l-wrapper.l-2col {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-flex-direction: row-reverse;
		flex-direction: row-reverse;
		-webkit-align-items: flex-start;
		align-items: flex-start;
	}
	.l-2col .l-main {
		width: calc(100% - 250px);
	}
	.l-footerWrapper {
		max-width: 870px;
		margin:0 auto 2em;
	}
	.l-footer {
		min-height: 39px;
	}
	.l-main {
		min-height: calc(100vh - 132px);
	}
}
@media screen and (min-width: 959px) {
/*	.l-wrapper {
		width: 960px;
		margin: 0 auto;
	}*/
}
@media screen and (min-width: 1200px) {

}