@charset "utf-8";
table{
	margin-top: 0px;
	margin-bottom: 20px;
	padding: 0;
	max-width: 835px;
	width: 100%;
	margin-right: 0;
	margin-left: 0;
	height: auto;
	font-size: 12px;
	border: 1px solid #FFF;
	box-shadow: 0px 0px 4px gray;
	float: left;
}
table th{
	margin: 0;
	padding: 10px;
	white-space: nowrap;
	text-align: left;
	text-align: center;
	background-color: #84b12f;
	border-width: 1px;
	border-style: solid;
	border-color: #CCC;
	color: #FFFFFF;
	line-height: 20px;
	font-weight: normal;
}
table td{
	margin: 0;
	padding: 10px;
	text-align: center;
	border-width: 1px;
	border-style: solid;
	border-color: #CCCCCC;
	background-color: #FFF;
	line-height: 20px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	vertical-align: middle;
}
.top{
	margin: 0 auto;
	width: 100%;
	max-width: 1180px;
}


#stage {
position: relative;
max-width:1180px;
margin: 0 auto;

}
.pic {
position: absolute;
}
.pic img {
width: 100%;
height: auto;
opacity:0;
-moz-animation: imgTrans 24s infinite;
-webkit-animation: imgTrans 24s ease-in infinite;
animation: imgTrans 24s infinite;
}
#photo1 img {
-moz-animation-delay: 0s;
-webkit-animation-delay: 0s;
animation-delay: 0s;
}
#photo2 img {
-moz-animation-delay: 8s;
-webkit-animation-delay: 8s;
animation-delay: 8s;
}
#photo3 img {
-moz-animation-delay: 16s;
-webkit-animation-delay: 16s;
animation-delay: 16s;
}

@-webkit-keyframes imgTrans {
0% { opacity:0; }
10% { opacity:1; }
32% { opacity:1; }
42% { opacity:0; }
100% { opacity:0; }
}
@-moz-keyframes imgTrans {
0% { opacity:0; }
10% { opacity:1; }
32% { opacity:1; }
42% { opacity:0; }
100% { opacity:0; }
}
@keyframes imgTrans {
0% { opacity:0; }
10% { opacity:1; }
32% { opacity:1; }
42% { opacity:0; }
100% { opacity:0; }
}

.top-bnr-area{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
.top-bnr-area img{
	vertical-align: bottom;
}

.border{
	border: 1px #000 solid;
}

.h2-like-h8{
	padding: 0;
	border-top: none;
	border-bottom: none;
	margin-bottom: 0;
	background: none;
	font-family: YuMincho, 'Yu Mincho', 'MS Mincho', serif;
	font-size: 1.9em;
	font-weight: bold;
	color: #C86;
	line-height: 1.4em;
}

.h3-like-h2{
	border-left: none;
	text-align: center;
	padding: .75em 0;
	border-bottom: 1px solid #ccc;
	border-top: 1px solid #ccc;
	margin-bottom:20px;
	font-weight:bold;
	background:#FCFCFC;
}

.acc-h3{
	padding: 0;
	border-left: none;
	border-bottom: none;
	margin-bottom: 0;
	font-weight: normal;
	text-align: center;
}

.blog-bnr a img{
	transition: 0.3s;
}
.blog-bnr a:hover img{
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}

#top-att{
	background-color: #fff;
	margin: 1rem 0 3rem 0;
	padding: 1rem;
	font-size: 90%;
	text-align: center;
	border: 1px #bbb solid;
}
#top-att p{
	line-height: 1.6;
	margin-bottom: 0;
	text-align: center;
}
#top-att ul{
	display: inline-block;
	text-align: left;
	margin-top: 1rem;
}
#top-att ul li{
	list-style-type: decimal;
}
#top-att hr{
	border-top: 1px dashed #bbb;
	max-width: 90%;
}
#top-att .bold{
	font-weight: bold;
	display: inline-block;
	margin-bottom: 1rem;
}
.top-att-nav a{
	display: inline-block;
	color: #fff;
	background-color: #ff8c33;
	width: 100%;
	height: 100%;
	padding: 0.5rem;
	transition: 0.3s;
}
.top-att-nav a:hover{
	background-color: #fb8c8c;
}

.button{
	display: block;
	background-color: #FF7B7B;
	padding: 5px;
	border-radius: 30px;
	font-size: 0.8rem;
	left: 1rem;
	right: 1rem;
	margin: 1rem auto 0.2rem;
	bottom: 1rem;
	color: #FFF;
	transition: all 0.3s;
}
_:-ms-input-placeholder, :root #news .button{
	padding: 11px 5px 5px;
}
.button:hover{
	color: #fff;
	background-color: #c7121d;
	text-decoration: none;
}

.button .fas{
	margin-left: 0.2rem;
}

.date{
	font-weight:bold;
	font-size:12px;
}

.box17{
    margin:-1em auto 2em;
    position: relative;
    padding: 2em 2em;
    border-top: solid 2px black;
    border-bottom: solid 2px black;
	max-width:900px;
	background-color:#FcFcFc
	
}
.box17:before, .box17:after{
    content: '';
    position: absolute;
    top: -10px;
    width: 2px;
    height: -webkit-calc(100% + 20px);
    height: calc(100% + 20px);
    background-color: black;
}
.box17:before {left: 10px;}
.box17:after {right: 10px;}
.box17 p {
    margin: 0; 
    padding: 0;	text-align:center;
}


#main-img{
	background: url("../img/top.webp") no-repeat;
	background-position: top center;
	background-size: cover;
	font-family:YuMincho, 'Yu Mincho', 'MS Mincho', serif;
	font-weight: bold;
}
#main-img .container{
	position: relative;
}
.top-box1,
.top-box2{
	position: absolute;
}
.top-box1{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.top-title{
	color: #738088;
}
.top-text{
	color: #2a2d34;
}
.top-box2{
	color: #5e8396;
	font-weight: bold;
}
.top-box2 span{font-size: 1.1rem;}
.top-box2 p{
	background-color: #5e8396;
	color: #fff;
	display: inline-block;
	font-size: 1.5rem;
	border-radius: 30px;
	padding: 0.75rem 3rem 0.5rem;
	margin-top: 0.8rem;
	margin-bottom: 1.8rem !important;
}
.main-sub-box{
	background-color: #fff;
	color: #ff6600;
	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: normal;
	letter-spacing: 0.1rem;
	padding-bottom: 0.3rem;
	display: flex;
}
.tiles2 a {
	color: #666;
}

@media (max-width: 640px){
	#top-att p{
		text-align: left;
	}
	#top-att ul{
		margin-left: 1rem;
	}
	#top-att hr{max-width: 100%;}
	.box17 h1 { font-size:1.2em;
		padding-bottom:10px
	}
	.box17 p {
	    margin: 0; 
	    padding: 0;	text-align:left;
	}
}

@media screen and (max-width : 360px) {
	.xs-none{display: none;}
}

/* ■■■■■■■■■ SP用 ■■■■■■■■■ */
@media screen and (max-width : 959px) {
	.tiles2 span.small{font-size: 1em !important;}
	.eng_table th, .eng_table td{padding: 5px;}
	
	.top-bnr-area{
		padding-top: 2rem;
		padding-bottom: 2rem;
		border-top: 1px #999 solid;
		border-bottom: 1px #999 solid;
	}
	.top-bnr-area div{
		width: 100%;
	}
	.bnr-1{
		background-color: #f16824;
	}
	.bnr-2{
		background-color: #0052a4;
		margin-top: 2rem;
	}
	.top-bnr-area span{
		color: #fff;
		letter-spacing: 0.5rem;
		margin-right: -0.5em;
	}
	.time-table{width: 100%;}
	.timetable_sides{
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	
	.timetable_side{
		padding: 20px;
		vertical-align: middle;
		transition: 0.2s;
	}
	.contact{
		margin: 0 auto;
	}
	.contact p{
		margin-top: 50px;
	}
	.fl-btn-ex{
		width: 100%;
		margin-bottom: 10px;
	}
	#main-img{
		background-position: 40% 0;
		min-height: 340px;
	}
	.intro-box{margin-top: 340px;}
	.top-box1,
	.top-box2{
		max-width: 100%;
	}
	.top-box1{
		top: 20px;
		right: 15px;
		min-height: 320px;
	}
	.top-box2{
		top: 360px;
		left: 0;
		padding-left: 10px;
		padding-right: 10px;
	}
	.top-box2 span{font-size: 1rem;}
	.top-box2 p{
		font-size: 1.3rem;
		padding: 0.7rem 2rem 0.5rem;
	}
	.main-sub-box{
		padding-top: 1.5rem;
		padding-bottom: 3rem;
	}
	.top-title{
		line-height: 1.6;
		font-size: 1.4rem;
	}
	.top-text{
		padding-right: 10px;
		line-height: 1.8;
		font-size: 0.9rem;
	}
	#main-img .container p{
		margin-bottom: 0 !important;
	}
	.btn5-box{
		margin-top: 160px;
	}
	.box17 h4{font-size: 1.2rem;}
}

@media screen and (min-width : 768px) and (max-width : 959px) {
	.top-box1{
		right: 40px;
	}
	.top-box2{
		width: 100%;
		text-align: center;
		margin-top: 20px;
	}
	.top-title{
		line-height: 1.6;
		font-size: 1.9rem;
		letter-spacing: 0.12rem;
	}
	.top-text{
		padding-right: 60px;
		line-height: 2.3;
		font-size: 1rem;
	}
	.btn5-box{
		margin-top: 250px;
	}
	.tab-none{
		display: none !important;
	}
	.tab{
		display: block !important;
	}
	.intro-box{margin-top: 370px;}
}

@media screen and (min-width : 960px) {
	.top-bnr-area div{
		width: calc(50% - 10px);
	}
	.top-bnr-area p img{
		position: relative;
		width: 65%;
		top: -70px;
		left: 320px;
		margin-bottom: -70px;
	}
	.fl-btn-ex{
		margin-right: 10px;
		margin-left: 10px;
	}
	.time-table{
		width: 70%;
	}
	.contact{
		width: 30%;
	}
	.timetable_sides{
		display: flex;
		justify-content: space-between;
	}
	.timetable_side{
		padding: 30px;
		vertical-align: middle;
		transition: 0.2s;
	}
	.time-table th, .time-table td {
		padding: 10px 5px !important;
	}
	
	#main-img{
		min-height: 600px;		
	}
	.top-box1{
		max-width: 564px;
		top: 45px;
		right: 40px;
		min-height: 250px;
	}
	.top-box2{
		max-width: 564px;
		top: 317px;
		right: 16px;
	}
	.main-sub-box > div{
		width: 190px;
	}
	.top-title{
		line-height: 1.6;
		font-size: 1.9rem;
		letter-spacing: 0.12rem;
	}
	.top-text{
		padding-right: 60px;
		line-height: 2.3;
		font-size: 1rem;
	}
	.rs-1line{
		display: inline-block;
		padding-right: 1.5em;
	}
}

.rinji{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.rinji > div{width: 100%; text-align: center;}
@media screen and (min-width : 960px) {
	.rinji > div{
		width: 49%;
	}
}
@media screen and (max-width: 320px){
	.main-sub-box{font-size: 90%;}
	.top-box1{right: 0px;}
	.top-text{padding-right: 3px;}
}

.new-intro {
  padding-top: 2rem;
  padding-bottom: 4rem;
  /*background: url("") no-repeat top right;*/
  position: relative;
  top: -1rem;
  margin-bottom: -1rem;
}
.new-intro-txt p{
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  padding-bottom: 1rem;
}
.intro-h {
  color: #ff8c33;
  font-size: 1.5rem;
  font-weight: bold;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  display: inline-block;
  width: 100%;
  text-align: left;
  letter-spacing: 0.1rem;
  padding-bottom: 2rem;
}
@media screen and (max-width : 767px) {
  .new-intro {
    /*margin-top: 591px;*/
  }
  .intro-h {
    font-size: 1.3rem;
  }
	.rinji{
		margin-top: 590px !important;
	}
}
@media screen and (max-width : 959px) {
  .new-intro {
    padding-left: 12px;
    padding-right: 12px;
  }
  .new-intro {
    background: none;
  }
  .new-intro-txt p {
    padding-bottom: 0;
    font-size: 0.9rem;
  }
	.rinji{
		margin-top: 780px;
	}
}
@media screen and (min-width : 768px) and (max-width : 959px) {
  .new-intro{
    margin-top: 30px;
  }
}
@media screen and (min-width : 960px) and (max-width : 1179px) {
  .new-intro {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .new-intro-txt {
    max-width: 63%;
  }
  .pc-inline {
    display: none !important;
  }
  .new-intro-txt p {
    padding-bottom: 0;
  }
  .intro-h {
    white-space: nowrap;
  }
}
.timetable_side:hover{
	transform: scale(1.2, 1.2);
}
.contact p{
	color: #84b12f;
	text-align: center;
	font-weight: 900;
	font-size: 20px;
}