.pc_show { display: block; }
.pc_hide { display: none; }


#footer {
    margin: 300px 0 0 0 !important;
}
.feed{
  display: none;
}


/* topCalendar
------------------------------------------------------------- */

#topCalendar .pieceContainer .month {
    padding: 0;
    text-align: left;
    font-size: 28px;
    margin: 0 0 0 0;
}
#topCalendar .pieceHeader .pieceBody{
    clear: both;
    text-align: center;
}
#topCalendar .pieceBody table{
    margin: 5px 0 0 0;
    width: 100%;
}
#topCalendar .pieceBody table th, #topCalendar .pieceBody table td{
    border: 2px solid #eff2f9;
    font-size: 90%;
    padding: 14.7px 9.7px;
    text-align: center;
}

#content #contentContainer .calendarEvents table th.sun,
#content #contentContainer .calendarEvents table td.sun,
#topCalendar .pieceBody table th.sun,
#topCalendar .pieceBody table td.sun,
#content #contentContainer .calendarEvents table th.holiday,
#content #contentContainer .calendarEvents table td.holiday,
#topCalendar .pieceBody table th.holiday,
#topCalendar .pieceBody table td.holiday{
    background-color: #ffe5f1;
    color: #f00;
}

#content #contentContainer .calendarEvents table th.sat,
#content #contentContainer .calendarEvents table td.sat,
#topCalendar .pieceBody table th.sat,
#topCalendar .pieceBody table td.sat {
    background-color: #e1f5fe;
    color: #00f;
}

#topCalendar .pieceBody table td.prevMonth,
#topCalendar .pieceBody table td.nextMonth {
    color: #aaaaaa;
}
#topCalendar .pieceBody table th.wday{
    color: #ddd;
    background-color: #19243F ;
}

table.calendar a {
  display: block;
  width: 1.6rem;
  line-height: 1.6rem;
  margin: 0 auto;
  background-color: #b30d01;
  color: #fff;
  border-radius: 50%;
  text-decoration: none;
}

table.calendar a:hover {
  opacity: 0.9;
}


#page-index .pagination {
    margin-top: 8px;
    text-align: right;
}
.pagination {
    margin: 8px 0 28px 0;
    text-align: center;
}



/* =========================================================
  event
========================================================= */


/* event-type
----------------------------------------------- */
#eventType {
  margin-bottom: 10px;
}

#eventType .pieceBody ul {
  display: flex;
}

#eventType .pieceBody li {
  flex: 1;
  text-align: center;
}

#eventType .pieceBody li a {
  display: block;
  padding: 10px 0;
  background-color: #8B0000;
  color: #fff;
  text-decoration:none;
}

#eventType .pieceBody li:not(:last-child) a {
  margin-right: 1px;
}

#eventType .pieceBody li a:hover {
  background-color: #cc0000;
  color: #fff;
}

body[id^="page-calendarEvent-"] #eventType .pieceBody .list a,
body[id^="page-calendar-"] #eventType .pieceBody .calendar a,
body[id^="page-calendarToday-"] #eventType .pieceBody .search a {
  background-color: #cc0000;
  color: #fff;
}

/* monthly-event
----------------------------------------------- */
div[id^="monthlyEvent"] .pieceBody {
  padding: 12px;
}

div[id^="monthlyEvent"] .pieceBody ul {
  margin-bottom: 4px;
}

div[id^="monthlyEvent"] .pieceBody ul li {

  margin-left: 1.5rem;
  list-style-type: disc;
}

div[id^="monthlyEvent"] .pieceBody ul li li {
  list-style-type: circle;
}

/* calendar-category
----------------------------------------------- */
#calendarCategory .pieceBody {
  padding: 12px;
}

#calendarCategory .pieceBody ul {
  margin-bottom: 4px;
}

#calendarCategory .pieceBody ul li {
  margin-left: 1.5rem;
  list-style-type: disc;
}

#calendarCategory .pieceBody ul li li {
  list-style-type: circle;
}

#page-calendar-index .calendarEvents table th{
width: 14%;
} 
.calendarEvents table {
  width: 100%;
}

.calendarEvents th {
  padding: 8px 15px;
  background-color: #BF9D6D;
  font-weight: normal;
  text-align: center;
  color: #fff;
}

/* event, search, todays
----------------------------------------------- */
.calendarMonthlyEvents th:not(:last-child),
.resultEvents th:not(:last-child),
.calendarTodayEvents th:not(:last-child) {
  border-right: 1px solid #fff;
  width: 33%;
}

.calendarMonthlyEvents td,
.resultEvents td,
.calendarTodayEvents td {
padding: 30px 15px;
    border-bottom: 1px solid #808080;
    vertical-align: middle;
}

.calendarMonthlyEvents td.date span,
.resultEvents td.date span,
.calendarTodayEvents td.date span {
  display: inline-block;
  width: 20rem;
}

.calendarMonthlyEvents .image,
.calendarMonthlyEvents .date,
.resultEvents .image,
.resultEvents .date,
.calendarTodayEvents .image,
.calendarTodayEvents .date {
  text-align: center;
}

.calendarMonthlyEvents .image,
.resultEvents .image,
.calendarTodayEvents .image {
  width: 180px;
  text-align: center;
}

.calendarMonthlyEvents .title_link,
.resultEvents .title_link,
.calendarTodayEvents .title_link {
  width: 15rem;
}

.calendarMonthlyEvents .note,
.resultEvents .note,
.calendarTodayEvents .note {
  width: calc(var(--content-width) - 180px - 13rem - 15rem);
}

/* calendar
----------------------------------------------- */
.calendarCalendarEvents table {
  width: 100%;
}
.calendarCalendarEvents th,
.calendarCalendarEvents td {
  border: 1px solid #19243F ;
}

.calendarCalendarEvents th{
  border: 1px solid #19243F ;
}
.calendarCalendarEvents tr th:first-child {
  border-left: 1px solid #fff;
}

.calendarCalendarEvents th {
    padding: 5px 12px;
    vertical-align: top;
    width: 14%;
}
.calendarCalendarEvents td {
  padding: 5px 12px 16px;
  vertical-align: top;
}


/* weekset
----------------------------------------------- */
.sat {
  background-color: #dff6fe;
  color: #1565c0;
}

.sun,
.holiday,
.close {
  background-color: #ffe6f1;
  color: #d90000;
}

.prevMonth,
.nextMonth {
  color: #ccc;
}

/*page-calendarEventList-index
-----------------------------------------------------------------------*/

#page-calendarEventList-index .eventList #contentContainer td{
border-bottom: 1px solid #ccc;
}
#page-calendarEventList-index .eventList #contentContainer td .title_link{
font-size: 96%;
line-height: 1.6;
}

.eventcalendarMenu {
    border-bottom: 3px solid #BF9D6D;
    margin: 0 0 30px 0;
}
.eventcalendarMenu li {
    float: left;
    font-weight: bold;
    margin-right: 5px;
    text-align: center;
    width: 33%;
}

.eventcalendarMenu li:last-child {
    margin-right: 0;
}

.eventcalendarMenu li a {
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    background-color: #ffffff;
    border-color: #BF9D6D #BF9D6D -moz-use-text-color;
    border-image: none;
    border-style: solid solid none;
    border-width: 2px 2px 0;
    color: #BF9D6D;
    display: block;
    padding: 7px 0;
    position: relative;
    text-decoration: none;
}

#page-calendar-index .eventcalendarMenu li.no03 a,
#page-calendarToday-index .eventcalendarMenu li.no02 a,
#page-calendarEventList-index .eventcalendarMenu li.no01 a,
.eventcalendarMenu li a:hover,
.eventcalendarMenu li.current a {
    background-color: #BF9D6D;
    color: #fff;
    text-decoration: none;
}


/*---------------------------------------------
mailform 
---------------------------------------------*/

#mailform table.table_form th {
	text-align: right;
	border-right-width: 4px;
	border-bottom-width: 1px;
	border-right-style: solid;
	border-bottom-style: dotted;
	border-right-color: #CCC;
	border-bottom-color: #CCC;
	font-size: 14px;
	font-weight: normal;
	padding: 20px;
	background-color: #F9F9F9;
}
#contents #mailform table.table_form th p {
	font-size: 10px;
	line-height: 14px;
	color: #999;
	margin: 0px;
	padding: 0px;
}
span.required {
	display: inline-block;
	margin-left: 5px;
	color: #FFF;
	background-color: #FF5B33;
	font-size: 12px;
	line-height: 24px;
	padding-right: 5px;
	padding-left: 5px;
}
#mailform table.table_form td {
	padding: 20px;
	background-color: #FFF;
	border-bottom-style: dotted;
	border-bottom-color: #CCC;
	border-bottom-width: 1px;
	font-size: 14px;
}
form input.form_btn {
	background-color: #F60;
	color: #FFF;
	padding-top: 10px;
	padding-right: 25px;
	padding-bottom: 10px;
	padding-left: 25px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border: 3px solid #EEE;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
	font-size: 18px;
	line-height: 24px;
}
form input.form_btn:hover {

	background-color: #FFF;
	color: #F60;
	border-top-color: #F60;
	border-right-color: #F60;
	border-bottom-color: #F60;
	border-left-color: #F60;
	cursor: pointer;
}
form input.form_btn_gr {
	background-color: #555;
	color: #FFF;
	padding-top: 10px;
	padding-right: 25px;
	padding-bottom: 10px;
	padding-left: 25px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border: 3px solid #EEE;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
	font-size: 14px;
	line-height: 24px;
}
form input.form_btn_gr:hover {
	background-color: #FFF;
	color: #555;
	border-top-color: #555;
	border-right-color: #555;
	border-bottom-color: #555;
	border-left-color: #555;
	cursor: pointer;
}
     
/*
 フォントアイコン
****************************************/

@font-face {
  font-family: 'svg_icon';
  src:
    url('/_themes/font/svg_icon.ttf?zhd8ff') format('truetype'),
    url('/_themes/font/svg_icon.woff?zhd8ff') format('woff'),
    url('/_themes/font/svg_icon.svg?zhd8ff#svg_icon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'svg_icon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*メインビジュアル背景*/
.icon-SVG01:before {
  content: "\e900";
}
/*下矢印*/
.icon-SVG02:before {
  content: "\e901";
}
/*キャッチコピーアイコン*/
.icon-SVG03:before {
  content: "\e902";
}
/*キャッチコピーアイコン*/
.icon-SVG04:before {
  content: "\e903";
}
/*キャッチコピーアイコン*/
.icon-SVG05:before {
  content: "\e904";
}
/*キャッチコピーアイコン*/
.icon-SVG06:before {
  content: "\e905";
}
/*キャッチコピーアイコン*/
.icon-SVG07:before {
  content: "\e906";
}
/*キャッチコピーアイコン*/
.icon-SVG08:before {
  content: "\e907";
}
/*吹き出し*/
.icon-SVG09:before {
  content: "\e908";
}
/*吹き出し*/
.icon-SVG10:before {
  content: "\e909";
}
/*下線*/
.icon-SVG11:before {
  content: "\e90a";
}
/*ギャラリー背景*/
.icon-SVG12:before {
  content: "\e90b";
}
/*括弧*/
.icon-SVG13:before {
  content: "\e90c";
}
/*括弧*/
.icon-SVG14:before {
  content: "\e90d";
}
/*メールアイコン*/
.icon-SVG15:before {
  font-family: "Font Awesome 7 Free";
  content: '\f0e0';
  font-weight: 900;
}
/*ハンバーガーメニュ*/
.icon-SVG16:before {
  font-family: "Font Awesome 7 Free";
  content: '\f03a';
  font-weight: 900;
 color: #AD1949;
}
/*ハンバーガーメニュ クローズ*/
.icon-cross:before {
  font-family: "Font Awesome 7 Free";
  content: '\f00d';
  font-weight: 900;
 color: #fff;
}

.tabs{
  display: none;
}

.clm{
  margin: 0 0 40px 0;
}

.flexbox{
  display:flex;
}

.font_title1 #pageTitle h1{
    font-size: 2.5rem;
    color: #AD1949;
    font-family: 'ryo-gothic-plusn', 'ryo-gothic-plusn', 'source-han-sans-japanese', sans-serif;
    font-weight: 800;
    padding: 0 0 20px 0;
    border-bottom: 2px solid #AD1949;
}

.calender h2, 
h2.font_title1,
.text-beginning h2{
    font-size: 2.5rem;
    background-color: #AD1949;
    font-family: 'ryo-gothic-plusn', 'ryo-gothic-plusn', 'source-han-sans-japanese', sans-serif;
    font-weight: 800;
    color: #fff;
   margin: 0 0 20px 0;
    padding: 10px 20px;
}



.clm .flexbox{
justify-content: space-between;
}

.clm .flexbox .img{
width: 49%;
}
.clm .flexbox .img img{
 width: 100%;
 height:auto;
}
.clm .flexbox #gmapArea{
width: 49%;
}


.map {
    position: relative;
    width: 100%;
    height: 55%;
    padding-top: 56.25%;    /*16:9の比率にしたい場合、9/16=56.25%*/
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#whatsnew ul.all:after {
  content: "";
  display: block;
  clear: both;
}

#whatsnew ul.all li{
  width: 49%;
  position: relative;
  margin-bottom: 30px;
} 
#whatsnew ul.all li img{
  width: 100%;
  height: auto;
}

#whatsnew ul.all li:nth-child(odd){
float:right;
} 
#whatsnew ul.all li:nth-child(even){
float:left;
} 

#whatsnew ul.all li a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
#whatsnew ul.all li .image {
    display: block;
    height: 400px;
    overflow: hidden;
}


#whatsnew ul.all li .publish_date{
    display: block;
    padding: 5px 10px;
    color: #FFFFFF;
    position: absolute;
    width: 100%;
    right: 0;
    bottom: 0;
    text-align: right;
    font-weight: bold;
    box-sizing: border-box;
    background-color: color-mix(in srgb, #000 60%, transparent);
}
#whatsnew ul.all li .title_link{
    display: block;
    padding: 20px 10px 10px 10px;
    color: #FFFFFF;
    position: absolute;
    width: 100%;
    right: 0;
    bottom: 35px;
    text-align: left;
    font-weight: bold;
    box-sizing: border-box;
    background-color: color-mix(in srgb, #000 60%, transparent);
}
#whatsnew ul.all li .category{
    display: block;
    padding: 5px 10px;
    color: #FFFFFF;
    position: absolute;
    width: 100%;
    top: -5px;
    left: -9px;
    font-weight: bold;
    box-sizing: border-box;
}
#whatsnew ul.all li .category div,
#whatsnew ul.all li .category span{
  font-size: 86%;
}

#whatsnew ul.all li .category .news-for-merry-havor{
   display: inline-block;
    background-color: #AD1949;
   padding: 5px;
   margin: 0 10px 0 0;
}

#whatsnew ul.all li .category .event-live{
   display: inline-block;
    background-color: #dab305;
   padding: 5px;
   margin: 0 10px 0 0;
}

#whatsnew ul.all li .category .event-mitsuhama{
   display: inline-block;
    background-color: #AD1949;
   padding: 5px;
   margin: 0 10px 0 0;
}



#whatsnew .more a{
    display: block;
    text-decoration: none;
    border: 2px solid;
    -webkit-transition: all .3s;
    transition: all .3s;
    padding: 20px 5px;
    box-sizing: border-box;
    margin: 20px auto;
    line-height: 1;
    text-align: center;
    width: 325px;
    font-size: 1.8rem;
}

#whatsnew .more a{
    text-decoration:none;
    color: #fff;
    background-color: #AD1949;
    border-width:2px;
    border-style:solid;
    border-color: #AD1949;
}
#whatsnew .more a:hover{
    text-decoration:none;
    color: #AD1949;
    background-color: #fff;
    border-color: #AD1949;
}

#foot_fixed,
p.contact_catch,
.-w-t_box{
  display: none !important;
}


@media (max-width: 767px) {
.sp_show { display: block; }
.sp_hide { display: none; }

    .pankuzu {
        width: calc(100% - 10%) !important;
    }
    [data-lib="331"] .fv_img .fv_text .fv_text_in .fv_text_M {
        font-size: 2.5vw !important;
        width: auto !important;
        min-width: auto !important;
    }

#whatsnew ul.all li{
  width: 100%;
  position: relative;
  margin: 0 0 20px 0;
} 


#whatsnew ul.all li:nth-child(odd){
float:none;
} 
#whatsnew ul.all li:nth-child(even){
float:none;
} 
.clm .flexbox{
justify-content: space-between;
}
.eventcalendarMenu li {
    float: none;
    margin-right: 0;
    width: 100%;
}
    }