@charset "UTF-8";

/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,iframe,h1,h2,h3,h4,h5,h6,form,label,legend,footer,header,hgroup,main,menu,nav,section{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}
/*body{line-height:1}*/
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}
input,select{vertical-align:middle}

/*================================================
 *  一般・共通設定
 ================================================*/
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 62.5%; /*font-size:10px;*/
}

body {
	background: #FFF;
	color: #343435;
	margin: 0;
	padding: 0;
	font-size:1.5rem;
	font-family: "Inter", "Noto Sans JP", sans-serif;
	min-width: 280px;
  min-height: 75rem;
}
.row {
	margin: 0;
}
.row > * {
	padding: 0;
}
ol, dl {
	padding: 0;
	margin: 0;
}
h1, h2, h3, h4, h5, h6 {
	margin-top: 0;
}

/*a {
  display: inline-block;  もしくは`display:block;` 
}*/

#top-head .logo {
	padding: 20px 15px;
}
#top-head .logo object {
	width: 100%;
	max-width: 400px;
	height: auto;
}
#top-head a, #top-head {
  text-decoration: none;
  display: block;
	position: relative;
}

@media (max-width: 767.98px) {
	#top-head .logo {
		padding: 10px 10px;
	}
}

object {
  pointer-events: none; /* IE10以下未対応 */
}

a img {
	border: none;
}

/* --- 全体のリンクテキスト --- */
a {
	color: #34759B;
}
a:visited {
	color: #34759B;
}
a:hover {
	color: #7BBBE3;
}
a:active {
	color: #7BBBE3;
}

.alpha {
  display:block;
}
.alpha img {
  transition:0.3s;
  display:block;
}
.alpha:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}


hr {
  border-top: 1px solid #bbb;
  border-bottom: 1px solid #fff;
	opacity: 1;
}

noscript img {
	vertical-align: middle;
}

.pagetop {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 15px;
}
.pagetop a {
	display: block;
	background: #44AAEF;
	text-align: center;
  color: #fff;
  font-size: 30px;
	text-decoration: none;
	padding: 10px 15px;
	filter:alpha(opacity=90);
	-moz-opacity: 0.9;
  opacity: 0.9;
  border-radius: 9999px;
  transition: all .5s ease;
  line-height: 1;
  z-index: 99;
}
.pagetop a:hover {
	display: block;
	text-align: center;
	text-decoration: none;
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
  opacity: 0.5;
}

.footerFixed {
  display: grid;
  grid-template-rows: min-content 1fr min-content;
  grid-template-columns: 100%;
  min-height: 100vh;
}

footer {
	/*background: #CEEAFD;*/
	background: #F3F4F6;
	padding: 20px 20px;
	clear: both;
}

footer a:link,
footer a:visited {
}
footer a:hover,
footer a:active {
}