@charset "UTF-8";


.display_block { display: block; }
.display_inline_block { display: inline-block; }

.bg_light_gray { background: #eee; }
.bg_light_yellow { background: #fff899; }

.black { color: #333; }

#header { overflow: auto; }
#sns_language_area { z-index: 100; }

.sns_box li { width: 34px; }

#new .new_box .flower_photo .tag { width: 64px; }

/* heading */
h2:not(.plane_text) a, h2:not(.plane_text) a:link { color: #fff; display: inline-block; font-size: 0.9em; }
h3.fukidashi.top_title { padding-bottom: 0; }
#new h3.fukidashi:before { background-color:#f0f7ea; }
#events h3.fukidashi:before { background-color:#bed250; }

/*#banner_slider { margin-bottom: 0; }*/
#banner_slider ul li { border-radius: 0; }
#banner_slider ul li a { display: inline-block; overflow: hidden; border-radius: 8px; }
#banner_slider ul li, #banner_slider ul li:hover { box-shadow: none; }
#banner_slider ul li a:hover { box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); }

table.border_green_table, table tr.border_green_table { border: solid 2px #118c18; }
table tr.border_green_bottom { border-bottom: solid 2px #118c18; }

#photogallery #event_slider .card_box .title_area { border-color: #eef5de; }

#main_slider .tripadvisor { z-index: 200; }

.listbox_3_col .tag { position: absolute; left: -10px; top: -10px; }

/* big banner */
.big_line_list { float: none; display: block; width: auto; }
.big_line_list .title_area { height: auto !important; }
.big_line_list .image_area { width: 30%; float: left; margin-right: 2%; }
.big_line_list .text_area { width: 68%; float: left; }
.big_line_list.noimage .text_area { padding-left: 4em; width: auto; }

/* h */
.key_color_yellow h2.plane_text { background: none; color: #e2470c; }

/* button */
.button_area a.pink_btn, .button_area a.pink_btn:link {
  background-color: #de1e46;
	border-color: #de1e46;
	color: #fff;
  background-image: url(../images/icon_arrow_white_r.png);
	font-size: 1.25em;
	border-radius: 4em;
}

.button_area a.pink_btn:hover {
  background-color: #fff;
	color: #de1e46;
  background-image: url(../images/icon_arrow_gray_r.png);
}

/* column */
.photo_3column_box, .photo_2column_box { overflow: hidden; }
.photo_3column_box .column, .photo_2column_box .column { float: left; width: 30%; margin: 0 1.5% 2%; }
.photo_3column_box .column img, .photo_2column_box .column img { margin-bottom: 1em; }

.photo_2column_box .column { width: 47%; }

/* local navi */
.sub_navi ul li a { min-width: 4em; }
.sub_navi.tab_navi { width: auto; border-bottom: solid 3px #118c18; margin-bottom: 2em; }
.sub_navi.tab_navi li { padding: 0 2px !important; margin: 0 !important; }
.sub_navi.tab_navi li a { display: inline-block; padding: 1.2em 0.8em 0; min-width: 0; background: #ebebeb; height: 3.8em; line-height: 1.2; border-radius: 3px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.sub_navi.tab_navi li a.min { padding-top: 0.7em; }
.sub_navi.tab_navi li.on a, .sub_navi.tab_navi li a:hover { width: 100%; background:#118c18; color: #fff; }

/* event list */
.top #event_slider .card_box .append_text { top:0; }
.tab_categoly { background: #de1e46; color: #fff; padding: 0.1em 0.5em; margin: 0 0 1em; display: inline-block; font-weight: normal; font-size: 0.64em; line-height: 1.6; vertical-align: top; }

/* guide map */
.cover_img_box { position: relative; margin: 0 auto; text-align: center; overflow: hidden; }
.cover_img_box .cover_img { width: 100%; position: absolute; left: 0; top: 0; }
.cover_img_box img { margin: 0 auto; }
.cover_img_box .hide { display: none; }
.button_area .cover_toggle { width: auto; min-width: 0; background: #e5e6e4; border: 0; }
.button_area .cover_toggle.on, .button_area .cover_toggle:hover { background: #333; color: #fff; }

/* calendar */
.cal_box table a.event_point, .cal_box table a.hanahana_point, .cal_box table a.business_point { display: inline-block; position: relative; margin: 0.3em 0; padding-left: 26px; }
.cal_box table a.event_point:before, .cal_box table a.hanahana_point:before, .cal_box table a.business_point:before { content: ""; display: block; width: 21px; height: 21px; position: absolute; left: 0; top: 0.25em; background: url(../images/icon_event.png) no-repeat; background-size: 100% auto; }
.cal_box table a.hanahana_point:before { background-image: url(../images/icon_hanahana.png); }
.cal_box table a.business_point:before { background-image: url(../images/icon_business.png); }

a.business_point:link, a.business_point { color: #333; font-weight: bold; text-decoration: none; }

.hanrei img { vertical-align: middle; }


#conts .wrapper > .sitemap {
    border-bottom: 1px dashed #333;
    padding-bottom: 0.5em;
}

#conts ul li.sibling {
    padding-left: 0;
}

#conts ul li.sibling:before {
    display: none;
}

.sibling > a {
    font-size: 1.2em;
    font-weight: bold;
}

#conts .wrapper > .sitemap {
    margin: 0 0 1em;
}

.sibling > ul, .sitemap li > ul {
    margin-top:0.5em;
}
	
/* sroll */
.scroll_wrap table { font-size: 0.95em; }
table thead a, table thead a:link { color:#fff; }
table .tategaki {
    writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
-ms-writing-mode: vertical-rl;
    letter-spacing: 0.1em;
	min-width: 1.5em;
	white-space: nowrap;
	font-size: 0.9em;
}
table.timetable tbody td, table.timetable tbody th { border-top-style:dotted; border-bottom-style:dotted; border-right-width: 2px; border-left-width: 2px;}
table.timetable thead td, table.timetable thead th { border-bottom-style:solid; }
table.timetable tbody th { background-image: url(../images/arrow_f_g.png); background-repeat: no-repeat; background-position: center top; background-size: 18px auto; }
table.timetable tbody tr:first-child th, table.timetable tbody th.start { background-image: none; }

/* movie */
.movie_wrap { position: relative; padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/ height: 0; overflow: hidden; }
.movie_wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

@media screen and (max-width: 768px) {
	
	#header.top:not(.fixed) #site_title { height: 95%; padding-top: 2.5%; }
	#main_slider:before { background-size: 100% 100%; }

	/* heading */
	h3.fukidashi.top_title { border: 0; background: none; }
	h3.fukidashi.top_title:before { display: none; }
	
	/* banner */
	#banner_slider ul li { box-shadow: none !important; }
	#banner_slider ul li a { box-shadow: 0 0 7px rgba(0, 0, 0, 0.3); margin: 7px; }
	
	.sp_top_pad1_5em { padding-top: 1.5em; }
	table th, table td, table p { line-height: 1.5; }
	table th { white-space: normal; }
	
	/* local navi */
	.sub_navi.tab_navi { margin-left: -20px; margin-right: -20px; }
	.sub_navi.tab_navi li br { display: inline !important; }
	.sub_navi.tab_navi li a { height: 4.8em; }
	
	
}


@media screen and (max-width: 540px) {
	
	#header.top:not(.fixed) #site_title { height: auto; padding-top: 3%; }
	
	#container #new .new_box .flower_photo .tag { top: -12px; left: -12px; width: 48px; }
	
	table.full_sp { margin-left:-22px; margin-right:-22px; width: auto; }
	
	#event_slider ul li, .listbox_3_col:not(.listbox_2_col_sp) { max-width: 94%; margin-left: auto!important; margin-right: auto!important; }
	.bx-wrapper .bx-prev, .bx-wrapper .bx-next { width: 14px; }
	
	/* メインビジュアルのサイズ調整 */
	#main_slider { height: 100vw !important; }
	#main_slider h1 span { font-size: 6vw !important; }

	/* big banner */
	.listbox_3_col.big_line_list .title_area { display: block; }
	.listbox_3_col.big_line_list .image_area, .listbox_3_col.big_line_list .text_area { width: auto; float: none; margin-right: 0; margin-left: 0; }

	/* local navi */
	.sub_navi ul li a { min-width: 0; }
	
	/* 3column */
	.photo_3column_box .column, .photo_2column_box .column { float: none; width: 100%; margin: 0 0 2%; }

	/* guide map */
	.cover_img_box { margin-left: -20px; margin-right: -20px; }
	
	/* calendar */
	.cal_box .table02 { margin-left: -20px; margin-right: -20px; width: auto; }
	.cal_box table a.event_point, .cal_box table a.hanahana_point { padding-left: 23px; }
	.cal_box table a.event_point:before, .cal_box table a.hanahana_point:before { width: 19px; height: 19px; top: 0.1em; }
	
	/* sroll */
	.scroll_wrap { position: relative; overflow-x: scroll; overflow-y: hidden; margin-right: -20px; margin-left: -20px; -webkit-overflow-scrolling: touch; overflow-scrolling: touch; }
	.scroll_wrap table { max-width: none; min-width: 100%; width: 700px; margin-left: 20px; margin-right: 20px; }
	
	.common_box .img_box, :not(.img_box) img.left { max-width: 100%; }
}