/*===============================
  Base
===============================*/
html {
	height: 100%;
}
body {
	line-height: 1;
	font-family: 'Noto Sans JP', sans-serif;
	height: 100%;
}
a {
	text-decoration: none;
}

a,
a::before,
a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .4s;
  transition: all .4s;
}

a:hover {
  opacity: 0.7;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 769px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}

img{
	width: 100%;
	height: auto;
}
@media only screen and (min-width: 768px) {
	.mb{
		margin-bottom: 110px;
	}
}

/*===============================
  Clear
===============================*/
img {
	border: 0;
	vertical-align: top;
	font-size: 0;
	line-height: 0;
	image-rendering: -webkit-optimize-contrast;
}
ol, ul {
	list-style: none!important;
}
* {
	margin: 0;
	padding: 0;
}

/*===============================
  Wrapper
===============================*/
.wrap {
    width: 90%;
    box-sizing: content-box;
    margin: 100px auto 110px;
}

.wrap02{
	width: 60%;
	margin: 0 auto 70px;
}

/*===============================
  content
===============================*/
@media only screen and (min-width: 768px) {
	.bnr{
		margin-bottom: 110px;
	}
}

.bnr a{
	text-align: center;
}

.bnr img{
	width: 45%;
	margin: auto;
}
.img-box01,.img-box02{
	position: relative;
}

.img-box01 a{
	position: absolute;
	left: 14%;
	bottom: 5%;
	width: 20%;
}

.img-box02 a{
	position: absolute;
	right: 14%;
	bottom: 5%;
	width: 20%;
}

.b-up a{
	bottom: 20%;
}

.img-box03{
	position: relative;
	margin: 100px 0;
}

.img-box03 a{
	position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	bottom: 7%;
	width: 20%;
}

.img-box04{
	margin-bottom: 110px;
}
.img-box05{
	position: relative;
	margin-bottom: 110px;
}

.img-box05 a{
	position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
   	bottom: 5%;
	width: 20%;
}

.venue{
	width: 85%;
	display: flex;
	margin: auto;
  justify-content:center; /*これを指定*/
  margin-top: 60px;
  margin-bottom: 80px;
}

.venue > div{
	margin-right: 15px;
	padding-right: 15px;
	border-right: 1px solid #000;
}

.venue > div:last-child{
	border-right: none;
	margin-right: 0;
	padding-right: 0;
}

.venue a{
	display: block;
    width: 60%;
    margin: auto;
    margin-top: 25px;
}

/*===============================
footer
===============================*/
footer{
	background-color: #277471;
	padding: 30px 0 0;
}

.logo{
	width: 40%;
	display: flex;
	margin: auto;
  justify-content:center; /*これを指定*/
}

.logo a:first-child{
	margin-right: 50px;
	margin-top: 20px;
}

.tel{
	width: 30%;
	margin: 30px auto;
}

.text01 p,.text02 p{
	color: #fff;
}

.text01{
	margin-bottom: 50px;
}

.text01 p{
	text-align: center;
	font-size: 20px;
	line-height: 1.5;
}
.text01 .time {
    font-size: 1.2em; 
}

.text02{
	width: 85%;
	margin: auto;
	margin-bottom: 30px;
}

.text02 p{
	line-height: 1.3;
	font-size: 10px;
}

.copy{
	background-color: #000;
	color: #fff;
	text-align: center;
	font-size: 16px;
	padding: 20px 0;
}

/*===============================
contents
===============================*/
section{
	margin-top: -3px;
}



/*===============================
 固定アンカーボタン
===============================*/
/*メニューをページ下部に固定*/
.fixed_banner {
	display: none; 
	position: fixed; 
	z-index: 99999; 
	bottom:130px; 
	right: 0px;
	width: 15%;
}
.floating-banner:hover {
	opacity: .8; 
}

.fixed_banner img{
	width: 100%;
}

#page-top {
    position: fixed;
    bottom: 20px;
    right: 0;
    z-index: 99;
    width: 80px;
    height: 80px;
}

