/*----------------------------------
	original
------------------------------------*/
body {
    background: #fff;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh;
    color: #333;
}

main {
    -webkit-box-flex: 1;
    -ms-flex: 1 auto;
    flex: 1 auto;
}

/*ヘッダー
----------------------------*/
header#o_header {
    background: #3E3A39;
    padding-top:10px;
	padding-bottom: 0px;
    color: #fff;
}

header#o_header a, 
header#o_header a:link, 
header#o_header a:visited {
    text-decoration: none;
    color: #fff;
}

header#o_header .o_logo{
 	max-height:80px;
	width:auto;
    padding:0;
    margin:0;
	margin-bottom: 10px;
}

.p_o_tel{margin-top: 14px; font-size: 20px;margin-left: 20px;letter-spacing: 0.1em;}
.p_o_tel i,.p_o_e-mail i{padding-right: 8px;}
.p_o_e-mail{font-size: 20px;margin-left: 20px;letter-spacing: 0.1em;}
a .o_header-btn{font-size: 22px; color:#999;display:table-cell;vertical-align: middle;margin:0;border-radius:40px;background-color: #fff;text-align:center;width:44px;height:44px;}

a .o_header-btn, 
a:link .o_header-btn, 
a:visited .o_header-btn{
    text-decoration: none;
    color: #3E3A39;
}
a:hover .o_header-btn{background-color: #666; color:#fff;}

.o_sp_h_right{margin-top: 16px;}

.o_twitter{margin-right: 10px;display: inline-block;position: relative;margin-top: 18px;}
.o_twitter i{position: absolute;top:12px;left:12px;}
.o_facebook{margin-right: 10px;display: inline-block;position: relative;margin-top: 18px;}
.o_facebook i{position: absolute;top:12px;left:12px;}
.o_youtube{display: inline-block;position: relative;margin-top: 18px;}
.o_youtube i{position: absolute;top:12px;left:11px;}
.o_facebook{display: inline-block;position: relative;margin-top: 18px;}
.o_facebook i{position: absolute;top:12px;left:11px;}
.o_mobile{margin-right: 10px;display: inline-block;position: relative;vertical-align:top;}
.o_mobile i{position: absolute;top:12px;left:9px;}
.o_e-mail{margin-right: 18px;display: inline-block;position: relative;vertical-align:top;}
.o_e-mail i{position: absolute;top:12px;left:11px;}


.o_flex-container {
  display: flex;
}

.o_flex-1 { flex: 1; }
.o_flex-2 { flex: 2; }
.o_flex-3 { flex: 3; }
.o_flex-4 { flex: 4; }
.o_flex-5 { flex: 5; }

/*ナビゲーション
----------------------------*/
.o_sp_navi{margin: 0; border: none;width:58px;height:58px;display: inline-block;background-color: transparent;}
.o_navibar_bk{position: relative; background-color: #727171;}

/*ハンバーガー*/
.icon-hamburger {
  cursor: pointer;
  height: 50px;
  position: relative;
  width: 50px;
  display: none;
 margin-top: 4px;
}

.icon-hamburger span {
  background: #fff;
  display: block;
  height: 12%;
  left: 40%;
  margin: -8% 0 0 -42%;
  position: absolute;
  top: 36%;
  width: 84%;
}

.icon-hamburger span::before{
	background: #fff;
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  margin: -8% 0 0 -50%;
  position: absolute;
  top: 60%;
  width: 100%;
}
.icon-hamburger span::after {
  background: #fff;
  content: "";
  display: block;
  height: 100%;
  left: 50%;
  margin: -8% 0 0 -50%;
  position: absolute;
  top: 68%;
  width: 100%;
}

.icon-hamburger span::before {
  margin-top: -38%;
}

.icon-hamburger span::after {
  margin-top: 19%;
}

@media screen and (max-width: 768px) {
  .icon-hamburger {
    display: inline-block;
  }
}
.menu-container {
  margin: 0;
}

.menu-container .menu {
  
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0;
}


.menu-container .menu .menu-item {
  flex: 1;
}

.menu-container .menu .menu-item a {
  color: #fff;
  display: block;
  padding: 0.6em 0.4em;
  text-align: center;
  text-decoration: none;
	position: relative;
	letter-spacing: 0.1em;
}

.menu-container .menu .menu-item a:hover {
  background: #3E3A39;
  color: #ffffff;
}

.menu-container .menu .menu-item:last-child a {
  border-right: none;
}

.menu-container .menu .menu-item a i{font-size: 10px; display: inline-block;vertical-align: middle;padding-bottom:2px;padding-right: 8px;}

@media screen and (max-width: 768px) {
  .menu-container .menu {
    display: none;
    width: 100%;
  }
  .menu-container .menu .menu-item a {
    border-bottom: 1px solid #9FA0A0;
	  text-align: left;
  }
  .menu-container .menu .menu-item:last-child a {
    border-bottom: none;
  }
}


/*ドロップダウンメニュー*/
.menu li li {
    height: 0;
    overflow: hidden;
    transition: .5s;
}

.menu .menu__second-level{position: absolute;z-index: 1;background-color: #898989;}
.menu-container .menu .menu-item .menu__second-level li a {
	height: 40px;
	padding-left:10px; 
	padding-right: 20px;
	text-align: left;
}

.menu-container .menu li:hover > ul > li {
	height: 40px;
    overflow: visible;
	text-align: left;
}

.menu-container .menu li:hover > ul > li a:hover {
	background: #3E3A39;
	
}

@media screen and (max-width: 768px) {
	.menu .menu__second-level{position: static;z-index: auto;}
	.menu li li{
		/*初めから表示する場合用↓*/
		height:40px;
		overflow: visible;
		}
	.menu-container .menu .menu-item li a {border-bottom: 1px solid #9FA0A0;}
	.menu-container .menu .menu-item li a.last{border-bottom:none;}
}

/*pickuppicture*/
.swiper-button-prev,
.swiper-button-next {
	background-image: none; /* デフォルトのボタン画像を消す */
	width: 40px; /* ボタンの幅 */
	height: 40px; /* ボタンの高さ */
	margin-top: -20px; /* 縦中央配置用：ボタンの高さの半分のネガティブマージン（top:50%がすでに設定されている） */
}

.swiper-button-next{right: -2px;}
.swiper-button-prev{left: 20px;}
/* 前ページボタンのスタイル */
.swiper-button-next::before{
  content: '';
  width: 40px;
  height: 40px;
  background-image: url("../../pickUpPicture/bg_dot.png");
	background-repeat: repeat;
	background-color: rgba(0, 0, 0, 0.5);
	background-size: 2px auto;
  border-radius: 40px;
  position: absolute;
  top: 50%;
  left: -8px;
  margin-top: -20px;
	opacity: 0.7;
}
.swiper-button-next::after{
  content: '';
  width: 16px;
  height: 16px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -8px;
  transform: rotate(45deg);
}

/* 次ページボタンのスタイル */
.swiper-button-prev::before {
  content: '';
  width: 40px;
  height: 40px;
/*background-color: #000;*/
  background-image: url("../../pickUpPicture/bg_dot.png");
	background-repeat: repeat;
	background-color: rgba(0, 0, 0, 0.5);
	background-size: 2px auto;
  border-radius: 40px;
  position: absolute;
  top: 50%;
  left: -14px;
  margin-top: -20px;
	opacity: 0.7;
}

.swiper-button-prev::after {
  content: '';
  width: 16px;
  height: 16px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -8px;
  transform: rotate(-135deg);
}

/*サイドバー*/
/*-- bule --*/
.sidebar_b{padding: 8px;color:#fff;
background-image: url(../../images/diagonal_bk_bule.gif);
	position: relative;
}
a:hover .sidebar_b{background-image: url(../../images/diagonal_bk_blue_hover.gif);}


.sidebar_a{
padding: 8px;
color:#003d58;
background-image: url(../../images/diagonal_bk_bule.gif);
}
a:hover .sidebar_a{
background-image: url(../../images/diagonal_bk_blue_hover.gif);
}

.sidebar_a .sidebar_a_inner{
background:#fff;
padding: 15px;
font-size: 17px;
position: relative;
}

.sidebar_a_inner i{display: inline-block;top:20px;right:8px;position: absolute;}
.sidebar_b i{display: inline-block;top:13px;right:10px;position: absolute;}


/*-- red --*/
.sidebar_b2{padding: 8px;color:#fff;
background-image: url(../../images/diagonal_bk_red.gif);
	position: relative;
}
a:hover .sidebar_b2{background-image: url(../../images/diagonal_bk_red_hover.gif);}


.sidebar_a2{
padding: 8px;
color:#580000;
background-image: url(../../images/diagonal_bk_red.gif);
}
a:hover .sidebar_a2{
background-image: url(../../images/diagonal_bk_red_hover.gif);
}

.sidebar_a2 .sidebar_a2_inner{
background:#fff;
padding: 15px;
font-size: 17px;
position: relative;
}

.sidebar_a2_inner i{display: inline-block;top:20px;right:8px;position: absolute;}
.sidebar_b2 i{display: inline-block;top:13px;right:10px;position: absolute;}


/*-- yellow --*/
.sidebar_b3{padding: 8px;color:#fff;
background-image: url(../../images/diagonal_bk_yellow.gif);
	position: relative;
}
a:hover .sidebar_b3{background-image: url(../../images/diagonal_bk_yellow_hover.gif);}


.sidebar_a3{
padding: 8px;
color:#967f00;
background-image: url(../../images/diagonal_bk_yellow.gif);
}
a:hover .sidebar_a3{
background-image: url(../../images/diagonal_bk_yellow_hover.gif);
}

.sidebar_a3 .sidebar_a3_inner{
background:#fff;
padding: 15px;
font-size: 17px;
position: relative;
}

.sidebar_a3_inner i{display: inline-block;top:20px;right:8px;position: absolute;}
.sidebar_b3 i{display: inline-block;top:13px;right:10px;position: absolute;}


/*-- green --*/
.sidebar_b4{padding: 8px;color:#fff;
background-image: url(../../images/diagonal_bk_green.gif);
	position: relative;
}
a:hover .sidebar_b4{background-image: url(../../images/diagonal_bk_green_hover.gif);}


.sidebar_a4{
padding: 8px;
color:#045800;
background-image: url(../../images/diagonal_bk_green.gif);
}
a:hover .sidebar_a4{
background-image: url(../../images/diagonal_bk_green_hover.gif);
}

.sidebar_a4 .sidebar_a4_inner{
background:#fff;
padding: 15px;
font-size: 17px;
position: relative;
}

.sidebar_a4_inner i{display: inline-block;top:20px;right:8px;position: absolute;}
.sidebar_b4 i{display: inline-block;top:13px;right:10px;position: absolute;}


/*マージンの追加*/
.mb-14{margin-bottom: 14px;}


/*News
----------------------------*/
.o_news {margin-bottom: 40px;}
.o_news h2 {
	font-size: 22px;
  border-bottom: solid 1px #ccc;
  position: relative;
margin-bottom: 16px;
}

.o_news h2 i{margin-right: 8px;display: inline-block;}

.o_news h2:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 1px #eee;
  bottom: -3px;
	width: 100%;
}

.o_news dl{border-bottom:1px solid rgba(15,70,100,.12); margin-bottom: 10px;}
.o_news dl dt{margin-bottom: 4px; font-size: 14px;display: inline-block;border-radius: 20px;background-color: #eee;padding-left: 10px;padding-right: 10px;}
.o_news dl dd{margin-bottom: 10px;}

.o_news a{color:#036EB8;text-decoration-line: underline;}

@media only screen and (max-width: 768px) {
	.o_news{margin-top: 20px;}
}

/*PICK UP EVENT
----------------------------*/
.o_pic_up_eve {margin-bottom: 40px;}
.o_pic_up_eve h2 {
	font-size: 22px;
  border-bottom: solid 1px #ccc;
  position: relative;
margin-bottom: 16px;
}

.o_pic_up_eve h2:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 1px #eee;
  bottom: -3px;
	width: 100%;
}
.o_pic_up_eve ul li{background-color: #f4f4f4;padding:14px;border-radius: 6px;}
.o_pic_up_eve h2 i{margin-right: 8px;display: inline-block;}
.o_pic_up_eve ul li .overview-text{font-size: 20px;}
.o_pic_up_eve ul li .overview-image{margin-left: 20px;background-color: #ccc;}
.o_pic_up_eve ul li div{margin-bottom: 6px;}
.o_pic_up_eve ul li p{margin-bottom: 6px;}
.o_pic_up_eve ul li{margin-bottom: 20px;display: block;}
.o_pic_up_eve .overview{background-image: url(../../images/noimage.gif);background-repeat: no-repeat;background-position: right top}
.o_pic_up_eve .detail {display: block;margin-left: 110px;margin-bottom: 20px;}
.o_pic_up_eve .title{border-bottom: dotted 1px #999;font-size: 18px;color: crimson ;}
.o_pic_up_eve p.time,.o_pic_up_eve p.ticket{font-weight: bold;  font-weight: 700;}


@media only screen and (max-width: 768px) {
	.o_pic_up_eve .overview{background-image: none; display: block;}
	.o_pic_up_eve ul li .overview-image{margin-left: 0px;}
	.o_pic_up_eve .detail{margin-left: 0px;}
	.o_pic_up_eve ul li p{font-size: 16px;margin-bottom: 10px;}
	.o_pic_up_eve ul li p.day,.o_pic_up_eve ul li p.date{font-size: 20px;}
	.o_pic_up_eve .title{padding-bottom: 10px;padding-top: 4px;}
	.o_pic_up_eve ul li{ border-bottom: solid 2px #ccc; }
}


/*twitter*/
.o_twitterw{width: 100%; border: solid 3px #aec2cb;}



/*フッダー
----------------------------*/

footer.o_footer {
    background: #3E3A39;
    padding: 20px 0;
    color: #fff;
}
footer.o_footer a, footer a:link, footer a:visited {
    color: #fff;
}
footer.o_footer h2 img {
    height: 80px;
}

#o_copyset{
	width: 100%;
	border-top: solid 1px #595757;
	background-color: #3E3A39;
	padding-top: 10px;
	letter-spacing: 0.1em;
}

/*----------------------------------
  Back To Top
------------------------------------*/
.s-back-to-top {
  position: fixed;
  right: 3.125rem;
  bottom: -3.125rem;
  display: block;
  width: 3rem;
  height: 4rem;
  z-index: 9;
  background: #333;
  border-radius: 3.125rem;
  text-align: center;
  transition-duration: 300ms;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.s-back-to-top:before {
  display: block;
  font-size: 1.5rem;
  font-style: normal;
  font-family: themify;
  color: #fff;
  line-height: 4rem;
  content: "\e627";
  transition-duration: 300ms;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.s-back-to-top:hover {
  background: #fff;
}

.s-back-to-top:hover:before {
  color: #333;
}

.s-back-to-top:focus, .s-back-to-top:hover {
  text-decoration: none;
}

/* The button becomes visible */
.s-back-to-top.-is-visible {
  bottom: 3.125rem;
  opacity: .8;
}

.s-back-to-top.-is-visible:hover {
  opacity: 1;
}

/* If the user keeps scrolling down, the button is out of focus and becomes less visible */
.s-back-to-top.-zoom-out {
  opacity: .6;
}

@media only screen and (max-width: 768px) {
.s-back-to-top {
  right: 2rem;
	}}

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

@media only screen and (max-width: 400px) {
.o_mobile{margin-right: 5px;display: inline-block;position: relative;}
.o_e-mail{margin-right: 9px;display: inline-block;position: relative;}

}

/*----------------------------------
used schedule page CSS
------------------------------------*/
/*---------------
min-width: 320px
------------------*/

@media screen and (min-width: 320px) {
body {
    background: #fff;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh;
    color: #333;
}
header {
    background: #999;
    padding: 10px 0;
    color: #fff;
}
header .logo {
    height: 80px;
}
main {
    -webkit-box-flex: 1;
    -ms-flex: 1 auto;
    flex: 1 auto;
}
footer {
    background: #999;
    padding: 20px 0;
    color: #fff;
}
footer a, footer a:link, footer a:visited {
    color: #fff;
}
footer h2 img {
    height: 80px;
}
/* --------section-------- */
.section-title h1, .section-title h2 {
    text-transform: uppercase;
    font-weight: bold;
}
.section-title h2 {
}
/* --------span-------- */
.spans.flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
}
.span12 {
    width: 100%;
    -webkit-box-flex: 0;
    -ms-flex: 0 100%;
    flex: 0 100%;
}
/* --------schedule-------- */
#schedule-nav.flex {
    justify-content: space-between;
    font-size: 18px;
    align-items: center;
}
ul.schedule {
    width: 100%;
}
ul.schedule li {
    border: 1px solid;
    padding: 10px;
    flex-direction: column;
    width: 100%;
    background: #f0f0f0;
}
ul.schedule li .overview {
    flex-direction: column;
    margin-bottom: 10px;
}
ul.schedule li .overview-text {
    flex-direction: row;
    align-items: baseline;
    line-height: 1.2;
}
ul.schedule li .overview-text .date {
    font-size: 36px;
    font-weight: bold;
}
ul.schedule li .overview-text .day {
    font-size: 18px;
    margin-left: 5px;
}
ul.schedule li .detail {
    flex-direction: column;
}
ul.schedule li .detail p {
    margin-bottom: 5px;
}
ul.schedule li .detail .buttons {
    align-items: flex-end;
}
ul.schedule li .detail .buttons .button {
    margin-right: 10px;
}

/* --------footer-------- */
p.tel {
    letter-spacing: 0.1em;
}
p.mail {
    letter-spacing: 0.1em;
}
}


/*---------------
min-width: 768px
------------------*/
@media screen and (min-width: 768px) {
/* span */
.spans.flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.md-span6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 49%;
    flex: 0 49%;
    margin-bottom: 2%;
}
.md-span6:nth-child(even) {
    margin-left: 2%;
}
p.note {
    font-size: small;
}
footer .logo {
    flex: 0 25%;
}
footer .access {
    flex: 0 50%;
}
/* --------schedule-------- */
ul.schedule li {
    flex-direction: row;
}
ul.schedule li .overview {
    flex-direction: row;
    margin-bottom: 0;
}
ul.schedule li .overview-text {
    flex-direction: column;
    align-items: flex-end;
    margin-right: 10px;
    flex: 0 28%;
}
ul.schedule li .overview-text .date {
    font-size: 36px;
}
ul.schedule li .overview-text .day {
    font-size: 20px;
    margin-left: 0;
}
ul.schedule li .overview-image {
    flex: 0 72%;
}
ul.schedule li .detail {
    flex: 1 0 50%;
    margin-left: 10px;
}
ul.schedule li .detail .buttons {
    margin-top: auto;
}
}
