@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: #212529;
	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;
}

.wrapper {
  width: 100%;
  max-width: 1320px;
  margin: 0px auto;
}

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

a img {
	border: none;
}

/* --- 全体のリンクテキスト --- */
a{
    color:#3fc3af;
}

a:hover img {
	opacity:0.8;	
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
}
.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: 15px;
	right: 15px;
}
.pagetop a {
	display: block;
	background: #44AAEF;
	text-align: center;
  color: #fff;
  font-size: 30px;
	text-decoration: none;
	padding: 15px 12px;
	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);
  color: #fff;
	-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 {
  border-top: 3px solid #eee;
  background-color: #fff;
  font-size: 1.4rem;
  padding: 20px 15px 6px;
  color: #5b5c5b;
}

.copyright {
  font-size: 1.3rem;
  text-align: center;
}

/* レスポンシブテーブル */
@media screen and (max-width: 767.98px) {
.pagetop {
	bottom: 0px;
  }
  footer {
    padding-bottom: 70px;
  }
}

#main {
  padding: 0 0 20px;
}

@media print, screen and (max-width: 767.98px) {
	#main {
		padding: 0 10px 10px;
	}
}