@charset "utf-8";

div#wrapper {
	overflow: hidden;
}

/*------------------------------------------------------------
	ベースライン
------------------------------------------------------------*/

h1 {
	font-size:2rem;
}

h2 {
	font-size:2.4rem;
}

h3 {
	font-size:1.8rem;
	font-weight: bold;
	color: #000;
	position: relative;
}

h3 span {
	font-size: 1.4rem;
	font-weight: bold;
}

h4 {
	font-size:1.6rem;
}

h5 {
	font-size:1.4rem;
}

h6 {
	font-size:1.3rem;
}


/*------------------------------------------------------------
	ナビゲーション
------------------------------------------------------------*/

#gNavi {
	display: none;
}

div.remodal img {
	width: 160px;
	height: auto;
	margin: 0 auto 30px;
}

div.remodal section {
	width: 220px;
	margin: 0 auto 20px;
}

div.remodal div {
	width: 100%;
	border: 1px solid #000;
	padding: 15px 0 12px;
	line-height: 1;
	z-index: 100;
	text-align: center;
}

div.remodal div a.modalBtn {
	display: block;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 4px;
	color: #000;
	text-decoration: none;
}

p#naviBtn a {
	background: #64B6EE;
    width: 38px;
    height: 38px;
    font-size: 2rem;
    line-height: 38px;
	color: #fff;
	text-align: center;
	text-decoration: none;
	position: fixed;
	top: 10px;
	right: 2%;
	z-index: 100;
}

/*------------------------------------------------------------
	コンテンツ：レイアウト
------------------------------------------------------------*/

div.container {
	width:100%;
	margin:0 auto;
	padding: 0 4%;
}

div.container div.contents {
	width:100%;
	margin:20px auto;
	position:relative;
}

section {
	display:flex;
	flex-wrap:wrap;
	display: -webkit-flex; /*古いブラウザ用*/
	-webkit-flex-wrap: wrap;/*古いブラウザ用*/
}

/*テンプレ用 仮設定*/
.grid {
	margin-bottom:10px;
}

/*------------------------------------------------------------
	メインビジュアル
------------------------------------------------------------*/

main {
	background: url(../../img/top/bg_main_2.jpg) center top no-repeat;
	background-size: cover;
	width: 100%;
	position: relative;
	overflow: hidden;
}

main p.siteID a {
	background: url('../img/logo-left.png') left top no-repeat;
	background-size: contain;
    display: block;
    position: absolute;
    width: 270px;
    height: 70px;
    top: 16px;
    left: 5px;
	text-indent: -9999px;
	z-index: 10;
}

/*------------------------------------------------------------
	RESPONSIVE GRID
------------------------------------------------------------*/

.fullwidth,
.oneHalf,
.oneThird,
.oneThirdLeft,
.oneThirdRight,
.twoThirdLeft,
.twoThirdRight,
.twoFifthLeft,
.twoFifthRight,
.threeFifthLeft,
.threeFifthRight {
	width:100%;
}

.oneFourth,
.oneFifth {
	width:48%;
	margin-right:4%;
}

.oneFourth:nth-child(2n),
.oneFifth:nth-child(2n) {
	margin-right:0;
}

/*------------------------------------------------------------
	2カラム（サイドナビ有り）
------------------------------------------------------------*/

div#sideLeft,
div#sideRight {
	display:none;
}

div#mainLeft,
div#mainRight {
	width:100%;
}


/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/

footer {
	background:#fff;
	width:100%;
	padding: 30px 0;
	border-top: 2px solid #3c3c3c;
}

footer address {
	font-size: 1rem;
	text-align: center;
}

footer div#innerFoot {
	width:92%;
	margin:0 auto;
}

div.h5Box {
	position: relative;
    padding-bottom: 7px;
    margin-bottom: 18px;
	border-bottom: 1px solid #3c3c3c;
}

footer div#innerFoot figure {
	width: 100px;
	height: auto;
	margin: 0 auto 15px;
	}

footer div#innerFoot div.footRightBox {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #3c3c3c;
}

footer div#innerFoot div.footRightBox h5 {
	font-size:1.6rem;
	font-weight: bold;
	letter-spacing: 2px;
	color: #000;
	position: relative;
}


footer div#innerFoot div.footRightBox table {
	width: 100%;
	font-size: 1.2rem;
}

footer div#innerFoot div.footRightBox table td span {
	font-size: 0.9rem;
}

footer div#innerFoot div.footRightBox table th {
	width: 80px;
	text-align: left;
}

footer div#innerFoot div.footRightBox table td {
	width: calc(100% - 80px);
}

/*------------------------------------------------------------
	ページトップへ
------------------------------------------------------------*/

p#pageTop a {
	display: block;
	background: #fff;
	font-size: 0.9rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	color: #000;
	position: fixed;
	bottom: 36px;
	right: 4%;
	z-index: 1000;
	text-decoration: none;
	border: 1px solid #000;
	padding: 5px 10px;
}

p#pageTop i {
	font-size: 1.6;
	margin-right: 0;
}

/*------------------------------------------------------------
	ボタン
------------------------------------------------------------*/

a.button {
	display: block;
	background: #68c0fb;
	width: 100%;
	max-width: 260px;
	line-height: 1;
	letter-spacing: 1px;
	text-align: center;
	color: #fff;
	padding: 13px 0;
	margin: 0 auto;
	text-decoration: none;
}

/*------------------------------------------------------------
	Loader
------------------------------------------------------------*/

#loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background-image: linear-gradient(to top, #a8edea 0%, #fed6e3 100%);
  z-index: 1000;
}


#loader {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 100px;
  height: 100px;
  margin-top: -50px;
  margin-left: -50px;
  text-align: center;
  z-index: 2000;
}

.loader {
  color: #ffffff;
  font-size: 5rem;
  text-indent: -9999em;
  overflow: hidden;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  margin: 72px auto;
  position: relative;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load6 1.7s infinite ease, round 1.7s infinite ease;
  animation: load6 1.7s infinite ease, round 1.7s infinite ease;
}
@-webkit-keyframes load6 {
  0% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  5%,
  95% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  10%,
  59% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
  }
  20% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
  }
  38% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
  }
  100% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
}
@keyframes load6 {
  0% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  5%,
  95% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  10%,
  59% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
  }
  20% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
  }
  38% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
  }
  100% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
}
@-webkit-keyframes round {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes round {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}



/*------------------------------------------------------------
	404 Error
------------------------------------------------------------*/

p.errorMsg {
	font-size: 1.6rem;
	font-weight: bold;
	color: #000;
	text-align: center;
	padding: 90px 0;
}
