@charset "UTF-8";

/* Menu */
.pure-drawer 
{
    background-color: rgb(217,80,151);
}

.prime-menu {
  padding: 50px 0 0 0;
  list-style: none;
/* list-style-mage:none; ← 削除 */
}

.prime-menu li {
  border-top: 1px solid #fff;
}



.pure-drawer a
{
    padding-top: 6px;
    padding-bottom: 10px;
    display: block;
    text-decoration: none;
    color:rgb(255,255,255);
}

.pure-drawer a:hover
{
    background-color:rgb(212,0,85);
}


.pure-toggle-label
{
    background-color:rgba(255,52,137,0.5);
    color:rgb(255,255,255);
}

.pure-toggle-label .pure-toggle-icon,
.pure-toggle-label .pure-toggle-icon:before,
.pure-toggle-label .pure-toggle-icon:after {
  background-color: rgb(255,255,255);
  color:rgb(255,255,255);
}

.prime-menu a
{
    padding-left: 15px;
}

.menuitem
{
    padding-left: 15px;
    padding-top: 6px;
    padding-bottom: 10px;
    color:rgb(255,255,255);
}

.submenuitem a
{
    padding-left: 30px;
}

/* カルーセル　*/
.slick-prev:before,
.slick-next:before {
    color: #000;
}

.slick-next 
{
    right: 20px;
    z-index: 99;
}
.slick-prev 
{
  left: 20px;
  z-index: 100;
}

.slick-dots 
{
    bottom: 1px;
}

.carousel
{
    background-color: rgb(217,80,151);
}

div.carousel img
{
    max-width: 100%;
}

/* メイン　*/
body {
  font-family: "ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.42857143;
}

.main-contents 
{
    margin-right: auto;
    margin-left: auto;
    padding-left: 5px;
    padding-right: 5px;   
}



.page-header {
    /*background-color: #87d33b; */
    padding-top: 60px;
    padding-left: 10px; 
    padding-bottom: 0px;
    border-bottom: 2px solid #87d33b;
    margin: -50px 0px 20px 0px;
    font-size: 18px;
    font-weight: bold;
}

.footer {
    color:rgb(255,255,255);
    font-size: 14px;
    background-color: rgb(217,80,151); 
    padding: 10px 20px 10px 20px;

    position: relative; 
    clear: both;       
}

@media only screen and (max-width: 40em) {
    .footer {
	padding: 20px 7px 20px 7px;
    } 
}

.event-area {
    margin: 20px 3px;
/*    height: 700px; */
}

.event-date-head {
    font-size: 14px;
    text-align: left;
    font-weight: bold;
/*    border-left:1px solid #ccc; */
    border-bottom:2px solid rgb(245,163,200)
}

.event-date-head-text {
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    padding: 2px 10px;
    background-color: rgb(36,170,225);
}

.event-date-head-text1 {
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    padding: 2px 10px;
    font-size: 18px;
    font-weight: bold;
    color : rgb(255,255,255);
    background-color: rgb(36,170,225);
}

.event-date-head-text2 {
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    padding: 2px 10px;
    font-size: 20px;
    font-weight: bold;
    color : rgb(255,255,255);
    background-color: rgb(217,87,160);
}

.event-title {
    /* text-align: center; */
    text-align: left;
    font-size: 18px;
    font-weight: bold;
    color : rgb(217,87,160);
}

.event-title-aux {
    font-size: 15px;
    /* text-align: center; */
    text-align: left;
    font-weight: bold;
    color : rgb(0,0,0);
}

.event-title2 {
    /* text-align: center; */
    text-align: left;
    font-size: 18px;
    font-weight: bold;
    color : rgb(152,10,84);
}


.event-category-title {
    font-size: 18px;
    font-weight: bold;
    color:rgb(0,150,0);
    border-left:15px solid rgb(0,150,0);
    border-bottom:1px solid rgb(0,150,0);
    padding-left:7px;
}

.event-category-title-aux {
    font-size: 15px;
    font-weight: bold;
    color:rgb(0,150,0);
    padding-left:9px;
}

.kidsjob-event {
    margin-bottom: 5px;
    font-size: 14px;
    font-weight: bold;
    color : rgb(255,255,255);
    background-color: rgb(0,150,0);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

/* かきつばたホール */
.event-place1 {
    font-size: 14px;
    font-weight: bold;
    color : rgb(0,0,0);
    background-color: rgb(198,201,238);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

/* 和室  */
.event-place2 {
    font-size: 14px;
    font-weight: bold;
    color : rgb(0,0,0);
    background-color: rgb(132,205,205);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

/* リハーサル室2 */
.event-place3 {
    font-size: 14px;
    font-weight: bold;
    color : rgb(0,0,0);
    background-color: rgb(255,221,237);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

/* リハーサル室3 */
.event-place4 {
    font-size: 14px;
    font-weight: bold;
    color : rgb(0,0,0);
    background-color: rgb(191,255,248);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

/* 茶室 */
.event-place5 {
    font-size: 14px;
    font-weight: bold;
    color : rgb(0,0,0);
    background-color: rgb(200,238,194);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

/* リハーサル室1 */
.event-place6 {
    font-size: 14px;
    font-weight: bold;
    color : rgb(0,0,0);
    background-color: rgb(232,149,192);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

/* パティオ入口 */
.event-place7 {
    font-size: 14px;
    font-weight: bold;
    color : rgb(0,0,0);
    background-color: rgb(255,255,0);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

/*  */
.event-place8 {
    font-size: 14px;
    font-weight: bold;
    color : rgb(0,0,0);
    background-color: rgb(255,158,100);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

/* 講義室（2階）*/
.event-place9 {
    font-size: 14px;
    font-weight: bold;
    color : rgb(0,0,0);
    background-color: rgb(202,171,55);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

/* かきつばたホールロビー */
.event-place10 {
    font-size: 14px;
    font-weight: bold;
    color : rgb(0,0,0);
    background-color: rgb(149,173,255);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

/* 屋外ステージ */
.event-place11 {
    font-size: 14px;
    font-weight: bold;
    color : rgb(0,0,0);
    background-color: rgb(102,255,0);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

/* 屋外特設会場 */
.event-place12 {
    font-size: 14px;
    font-weight: bold;
    color : rgb(0,0,0);
    background-color: rgb(0,204,255);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

/* うまいもん広場 */
.event-place13 {
    font-size: 14px;
    font-weight: bold;
    color : rgb(0,0,0);
    background-color: rgb(0,170,0);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

/* 光のパティオ */
.event-place14 {
    font-size: 14px;
    font-weight: bold;
    color : rgb(0,0,0);
    background-color: rgb(245,246,43);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

.event-time {
    font-size: 16px;
    font-weight: bold;
    padding-left: 20px;
}

.event-info {
    padding-top: 5px;
    border-top: 1px dotted #87d33b;
}

.req {
    font-size: 14px;
    font-weight: bold;
    color : rgb(255,255,255);
    background-color: rgb(237,0,140);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

.reqbtn {
    font-size: 14px;
    font-weight: bold;
    color : rgb(255,255,255);
    background-color: rgb(92,184,92);
    padding: 4px 8px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

.no-req {
    font-size: 14px;
    font-weight: bold;
    color : rgb(255,255,255);
    background-color: rgb(16,117,188);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}


.gallery {
    font-size: 14px;
    font-weight: bold;
    color : rgb(255,255,255);
    background-color: rgb(101,45,145);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}

.not-entry {
    font-size: 14px;
    font-weight: bold;
    color : rgb(255,255,255);
    background-color: rgb(2,104,57);
    padding: 2px 6px;
    border-top-left-radius: 3px; 
    border-top-right-radius: 3px; 
    border-bottom-left-radius: 3px; 
    border-bottom-right-radius: 3px; 
    -webkit-border-top-left-radius: 3px; 
    -webkit-border-top-right-radius: 3px; 
    -webkit-border-bottom-left-radius: 3px; 
    -webkit-border-bottom-right-radius: 3px; 
}


.event-inside-title {
    font-size: 20px;
    font-weight: bold;
    color:rgb(0,150,0);
    margin-left: 20px;
    border-left:15px solid rgb(0,150,0);
    padding-left:5px;
}

.event-inside-content {
    padding-left:25px;
}

.left-sq1 {
    border-left:10px solid rgb(0,150,0);
    padding-left: 5px;
}

.event-num1 {
  color: rgb(36,170,225);
  margin-bottom: 5px;
}

.event-num2 {
  color: rgb(217,87,160);
  margin-bottom: 5px;
}

.event-num-text {
    font-size: 17px;
}

img
{
    max-width:100%;
}

.form-row
{
    text-align: left;
    margin-top: 10px;
    margin-bottom: 10px;
}

.form-label
{
    font-weight: bold;
}

.form-header
{
    border-bottom: 1px solid #e5e5e5;
    text-align: left;
}

.form-footer
{
    border-top: 1px solid #e5e5e5;
    padding-top: 10px;
    text-align: right;
}

.form-title
{
    font-size: 20px;
    font-weight: bold;
    color : rgb(0,0,0);
}

.form-row input,select
{
    border: 1px solid #cccccc;
    border-radius: 4px;
    padding: 6px 12px;
    max-width:100%;
}

.form-row label.error
{
    color: rgb(255,0,0);
}

.form-btn
{
    cursor: pointer;
    padding: 6px 12px;
    border: 1px solid transparent;
    border-radius: 4px;
    color: #333333;
    background-color: #ffffff;
    border-color: #cccccc;
}

.form-btn:hover
{
    background-color: #cccccc;
}

.form-apply
{
    color: #ffffff;
    border-color: rgb(92,184,92);
    background-color: rgb(0,150,0);
}

.form-apply-no-hover
{
    padding: 6px 12px;
    border: 1px solid transparent;
    border-radius: 4px;
    color: #ffffff;
    border-color: rgb(92,184,92);
    background-color: rgb(0,150,0);
}


.form-apply-no-hover:hover
{
}

.form-apply:hover
{
    background-color: rgb(92,184,92);
}

.form-textarea
{
    width:100%;
}

/* SNS buttons */
.sns{
    text-align: right;
/*    display: inline-block; */
/*    vertical-align: top; */
}
 
.sns > li {
    display: inline-block;
    vertical-align: top;
    margin: 0 7px;
}
 
.sns > li:first-child {
    margin-left: 0;
}
 
.sns > li:last-child {
    margin-right: 0;
}

.kidsjoblist li {
    margin-bottom: 7px;
}

.kidsjoblist ul {
    margin-top: 7px;
}

.timetablelist {
    list-style:none;
    padding:2px;
    margin:2px;
    font-weight: bold;
}

.error
{
    color: rgb(255,0,0);
}


.vspace50px {
    height: 50px;
}

.vspace10px {
    height: 10px;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
/* === Title image: 自然な比率で横幅フィット === */
.title-image {
  display: block;
  max-width: 100%;  /* 親幅に合わせて縮小 */
  width: 100%;      /* レイアウト安定化（親幅いっぱい） */
  height: auto;     /* 縦横比を維持 */
  margin: 24px auto 16px; /* 中央寄せ＆余白（お好みで調整） */
}

img.title-image {
  height: auto !important;
  width: 100% !important;
  max-width: 100% !important;
}
/* clearfix 代わり：main-contents の高さを確保 */
.main-contents {
  overflow: auto;
}
/* ボタン風 */
.btn {
  display: inline-block;
  padding: 10px 18px;
  border-radius: 9999px;
  font-weight: 700;
  text-decoration: none;
  border: 2px solid #1b73e8;
  background: #1b73e8;
  color: #fff;
  transition: transform .06s ease, box-shadow .15s ease, background .15s;
  box-shadow: 0 2px 8px rgba(0,0,0,.1);
  line-height: 1.1;
}
.btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,.12); }
.btn:active { transform: translateY(0); box-shadow: 0 2px 6px rgba(0,0,0,.1); }

.btn-outline {
  background: #fff;
  color: #1b73e8;
}
.btn-outline:hover { background: #f3f8ff; }

.btn-primary { background:#1b73e8; color:#fff; }
.btn-primary:hover { background:#145dcc; }

.apply-cta {
  position: relative;
  z-index: 1000;
}

/* ▼ クリック妨害の根本対策（メニューの透明オーバーレイ） */
.pure-overlay {
  pointer-events: none !important;  /* メニュー閉時はクリックを拾わせない */
}
.pure-toggle:checked ~ .pure-overlay {
  pointer-events: auto !important;  /* メニュー開時だけ有効化 */
}

/* ▼ 念のためCTAを前面へ＆回り込み解除 */
.apply-cta {
  position: relative;
  z-index: 10001;   /* 必要なら 99999 まで上げられます */
  clear: both;      /* 左に浮いた画像の回り込みを解除 */
}
.apply-cta a {
  position: relative;
  z-index: 10002;
}
/* 館内イベント：6枚横並びギャラリー */
.gallery-6 {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;        /* 画面幅が狭い時は折り返し */
  align-items: flex-start;
}
.gallery-6 a {
  flex: 1 1 calc(16.666% - 10px); /* PC: 6列 */
  text-decoration: none;
}
.gallery-6 img {
  width: 100%;
  height: auto;
  display: block;
}

/* 画面幅に応じて列数を調整 */
@media (max-width: 768px) {
  .gallery-6 a { flex-basis: calc(33.333% - 10px); }  /* タブレット: 3列 */
}
@media (max-width: 480px) {
  .gallery-6 a { flex-basis: calc(50% - 10px); }      /* スマホ: 2列 */
}
/* ====== モバイルでタイトルが潜る／フッターが切れる対策 追記ここから ====== */

/* ヒーロー(slick)とタイトルの重なり順を明示 */
.carousel { position: relative; z-index: 0; }
.title-image { position: relative; z-index: 1; }  /* 既存定義に上書き */

/* slick内画像の高さ計算を安定させる（念のため強制） */
.carousel .slick-slide img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

/* 行やエリアのfloatを確実にクリアして親の高さを出す */
.main-contents::after,
.event-area::after,
.row::after {
  content: "";
  display: block;
  clear: both;
}

/* 右メニュー系transformで下端がクリップされるのを防止 */
.pure-container { overflow-x: hidden; }
.pure-pusher,
.pure-pusher-container { overflow: visible; }

/* フッターが重なり順で負けないように */
footer.footer, #sec-footer.footer {
  position: relative;
  z-index: 1;
  clear: both;
}

/* 画像のはみ出し・横スクロールの連鎖を予防（保険） */
.thumbnail img,
.gallery-6 img { max-width: 100%; height: auto; display: block; }

/* モバイルでタイトル画像の余白を少し増やす（見やすさ） */
@media (max-width: 640px) {
  .title-image { margin: 24px auto 12px; }
}

/* ====== 追記ここまで ====== */



