@charset "utf-8";
*,*::before,*::after{margin:0;padding:0;border:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font:inherit;overflow-wrap:break-word;}*:focus {outline: none;}html{top:0;left:0;right:0;margin:auto;overflow-y:scroll;scroll-behavior: smooth;}html,body{height:100%;}a{color:inherit;text-decoration: none;tap-highlight-color: rgba(0,0,0,0);-webkit-tap-highlight-color: rgba(0,0,0,0);cursor: pointer;}input,select,textarea,button{outline:0;margin:0;padding:0;background-color:transparent;font:inherit;color:inherit;}button{cursor:pointer;}main,header,footer,menu,nav,section,article{display:block;margin:0;padding:0;}img{max-width:100%;height:auto;vertical-align:top;}table{border-collapse:collapse;border-spacing:0;}caption,th{text-align:left;}ol,ul{list-style:none;}hr{height:1.0em;border:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}body{-webkit-text-size-adjust:100%;font-size:100%;font-style:normal;font-weight:normal;font-weight:400;line-height:1.5;}[hidden]{display:none;}
body {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	min-width: 320px;
	height: auto !important;
	height: 100vh;
	min-height: 100vh;
	background-color: #fff;
	color: #000;
	font-family: 'Helvetica','Arial','Yu Gothic Medium','游ゴシック Medium', 'YuGothic','游ゴシック体','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3',Meiryo,'メイリオ',sans-serif;
}

header {
	position: relative;
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	background-color: #f4f4ef;
}
header .hdNavPC {
	display: none;
	flex: 0 0 auto;
	flex-direction: column;
	align-items: center;
}
header .hdPht {
	flex: 1 0 auto;
	display: block;
	max-height: 500px;
	overflow: hidden;
}
header .hdPht img {
	width: 100%;
	height:100%;
	object-fit: cover;
	object-position: center;
}
header .hdNavSP {
	flex: 0 0 auto;
	display: flex;
	gap: 10px;
	padding: 10px;
}
header .hdNavSP figure { margin: auto; }
@media screen and (min-width: 768px) {
	header { flex-direction: row; }
	header .hdNavPC { display: flex; }
	header .hdNavSP { display: none; }
}

footer {
	flex: 0 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 30px;
	padding: 30px 10px;
}
/* main */
main {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 10px;
	background-color: inherit;
	background-color: transparent;
}
