@charset "utf-8";

/* font */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* var */
:root {
  --c_width: 90%;
  --border_g: solid 1.5px #588100;
  --border_g_l: solid 1px #588100;
  --border_g_d: dashed 1px #588100;
  --border_w: solid 1.5px #ffffff;
  --border_tr: solid 1.5px transparent;
  --border_tr_l: solid 1px transparent;
  --color_g: #588100;
  --color_mg: #bace8f;
  --color_lg: #eff5e3;
  --color_w: #ffffff;
}

/* reset */
* { padding:0; margin:0; box-sizing:border-box; }
table { border-collapse:collapse; border-spacing:0; }
fieldset, img { border:0; }
address, caption, cite, code, dfn, em, var { font-style:normal; font-weight:400; }
ol, ul { list-style:none; }
caption, th { text-align:left; }
h1, h2, h3, h4, h5, h6 { font-size:100%; font-weight:400; }
q::before, q::after { content:''; }
abbr, acronym { border:0; }
section, article { display:block; }

/* iOS reset */
input[type=text] { border:none; -webkit-border-radius:0; -webkit-appearance:none; -webkit-tap-highlight-color:rgba(0,0,0,0); }
input[type="submit"],
input[type="button"] { border-radius:0; -webkit-box-sizing:content-box; -webkit-appearance:button; appearance:button; border:none; box-sizing:border-box; cursor:pointer; }
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration { display:none; }
input[type="submit"]::focus,input[type="button"]::focus { outline-offset:-0.15em; }
select { -webkit-appearance:none; -moz-appearance:none; appearance:none; border:none; outline:none; background:transparent; }
button,input[type="submit"] { -webkit-appearance:none; -moz-appearance:none; appearance:none; padding:0; border:none; outline:none; background:transparent; }
input[type="radio"] { display:none; }
input[type="radio"]:checked + label { background:#ff0000; }

/* options */
.r { border-radius:50%; overflow:hidden; }
.rl { -webkit-writing-mode:vertical-rl; -ms-writing-mode:tb-rl; writing-mode:vertical-rl; font-feature-settings:"pkna"; }
.pc { display:block; }
.sp { display:none; }
.sp_inline { display:none; }

/* anchor */
[id] { scroll-margin-top: 9rem; }
@media (max-width: 600px) {
  [id] { scroll-margin-top: 6rem; }
}

/* br */
.br { display:inline-block; }
.br__pc { display:block; }
.br__sp { display:inline; }

/* flex */
.flex { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:space-between; align-items:center; }
.fill { object-fit:cover; font-family:'object-fit:cover;'; }

/* base */
html { -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; }

body {
 -webkit-font-smoothing:auto; -webkit-font-feature-settings:'palt'; font-feature-settings:'palt';
 word-wrap: break-word; overflow-wrap: break-word; word-break: break-all; font-kerning: normal; -webkit-font-kerning: normal;
 font-family:"Noto Sans JP", YuGothic, "Yu Gothic", "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
 font-weight:400; letter-spacing:0.05em; background-color:var(--color_w); margin:0; padding:0; text-align: center;
 color:var(--color_g); line-height:1.8em;
 }
img { height:auto; width:100%; }
.fix img { height:auto; width:auto; }

/* link */
a:link, a:visited, a:active { color:var(--color_g); text-decoration:none; }
a:hover { color:var(--color_g); text-decoration:none; }
#contents a:hover { color:var(--color_mg); }
a:hover img { filter:alpha(opacity=90); filter:alpha(opacity=90); -moz-opacity:0.9; opacity:0.9; }

/* clear */
.clear { clear:both; }
.cbox { zoom:100%; }
.cbox::after { content:" "; clear:both; height:0; display:block; visibility:hidden; }

/* fadein */
.fadein { opacity:0; transform:translateY(0); transition:all 0.6s; }
@keyframes fadeIn { 0% { opacity:0 } 100% { opacity:1 } }
@-webkit-keyframes fadeIn { 0% { opacity:0 } 100% { opacity:1 } }

/* youtube */
.youtube { position:relative; width:100%; padding-top:56.25%; }
.youtube iframe { position:absolute; top:0; right:0; width:100% !important; height:100% !important; }

/* wrapper */
#wrapper { margin:0 auto; padding:0 0 0 0; }
#header,
#nav,
#contents,
#main { box-sizing: border-box; width:var(--c_width); margin:0 auto; padding: 0 3rem; min-width:960px; max-width: 1140px; }
#footer { box-sizing: border-box; width:100%; margin:0 auto; padding: 0; }

/* header */
#header { position: relative; padding:2rem 3rem 0 3rem; margin:0 auto 0 auto; }
#header h1 { width:45%; margin:0 auto 0 auto; }
#header h1 span.logo { display:block; line-height: 0; margin:0 0 0 0; }
#header .mark { position:absolute; height:5.5rem; width:auto; top:2rem; right:3rem; z-index: 10000; }
#header .mark img { height:100%; width:auto; }

#nav { position: sticky; top: 0; padding:1rem 3rem 0 3rem; z-index: 1000; background-color: #fff; }

/* header-nav-first */
#nav nav.first { position:relative; }
#nav nav.first::before { position:absolute; z-index:-1; left:0; bottom:0; right:0; content:""; width:100%; border-bottom:var(--border_g); }
#nav nav.first ul { display:flex; justify-content:center; align-items:stretch; }
#nav nav.first ul li { margin:0 0.35rem; }
#nav nav.first ul li a { position:relative; height:100%; display:block; font-size:1.25em; white-space: nowrap; line-height:1em; padding:1rem 1.5rem; margin:0; border-top:var(--border_tr); border-left:var(--border_tr); border-right:var(--border_tr); }
.home #nav nav.first ul li:nth-child(1) a,
.ex #nav nav.first ul li:nth-child(2) a,
.use #nav nav.first ul li:nth-child(3) a,
.facility #nav nav.first ul li:nth-child(3) a,
.floor #nav nav.first ul li:nth-child(4) a,
.access #nav nav.first ul li:nth-child(5) a,
.about #nav nav.first ul li:nth-child(6) a,
#nav nav.first ul li a:hover { border-top:var(--border_g); border-left:var(--border_g); border-right:var(--border_g); }
.home #nav nav.first ul li:nth-child(1) a::before,
.ex #nav nav.first ul li:nth-child(2) a::before,
.use #nav nav.first ul li:nth-child(3) a::before,
.facility #nav nav.first ul li:nth-child(3) a::before,
.floor #nav nav.first ul li:nth-child(4) a::before,
.access #nav nav.first ul li:nth-child(5) a::before,
.about #nav nav.first ul li:nth-child(6) a::before,
#nav nav.first ul li:hover a::before { position:absolute; width:100%; height:100%; z-index:-1; left:0; top:0; right:0; bottom:0; content:""; background-color:var(--color_w); }
.home #nav nav.first ul li:nth-child(1) a::after,
.ex #nav nav.first ul li:nth-child(2) a::after,
.use #nav nav.first ul li:nth-child(3) a::after,
.facility #nav nav.first ul li:nth-child(3) a::after,
.floor #nav nav.first ul li:nth-child(4) a::after,
.access #nav nav.first ul li:nth-child(5) a::after,
.about #nav nav.first ul li:nth-child(6) a::after,
#nav nav.first ul li:hover a::after { position:absolute; width:calc(100% - 3rem); height:100%; left:0; right:0; bottom:0; content:""; border-bottom:var(--border_g); margin:auto; }

/* header-nav-second */
#nav nav.second { position:relative; }
#nav nav.second::before { position:absolute; z-index:-1; left:0; bottom:0; right:0; content:""; height:100%; width:calc(100% - 1.5px); border-left:var(--border_g); border-right:var(--border_g); border-bottom:var(--border_g); }
#nav nav.second ul { display:flex; justify-content:center; flex-wrap: wrap; align-items:stretch; }
#nav nav.second ul li { margin: 0 0.25rem; }
#nav nav.second ul li a { position:relative; height:100%; display:block; font-size:1.1em; line-height:1.5em; padding:1rem 0.5rem; margin:0; border-top:var(--border_tr); border-left:var(--border_tr); border-right:var(--border_tr); }
#nav nav.second ul li a:hover { color:var(--color_g); }
.page-parent #nav nav.second ul li:nth-child(1) a::before,
#nav nav.second ul li.current_page_item a::before,
#nav nav.second ul li:hover a::before { position:absolute; width:100%; height:100%; z-index:-1; left:0; top:0; right:0; bottom:0; content:""; background-color:var(--color_w); }
.page-parent #nav nav.second ul li:nth-child(1) a::after,
#nav nav.second ul li.current_page_item a::after,
#nav nav.second ul li:hover a::after { position:absolute; width:calc(100% - 1.2rem); height:100%; left:0; right:0; bottom:0; content:""; border-bottom:var(--border_g); margin:auto; }

/* pankuzu */
.pankuzu--list { display: flex; align-items: flex-start; padding:0.5rem 3rem; min-width:960px; max-width: 1140px; margin:auto; }
.pankuzu--list::-webkit-scrollbar { display:none; }
.pankuzu--list .pankuzu--list--title { border-right: var(--border_g); font-size: 1em; line-height: 1.5em; padding:0 1.25rem 0 0; margin: 0 1.25rem 0 0; white-space: nowrap; }
.pankuzu--list ol { display:flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; }
.pankuzu--list ol li a { position: relative; font-size: 1em; line-height: 1.5em; padding:0 0; display:block; text-align: left; }
.pankuzu--list ol li a::after { font-family: "Font Awesome 6 Free"; content: "\f105"; padding:0 0.5rem; }
.pankuzu--list ol li:last-child a::after { display:none; }
.pankuzu--list ol li:first-child a { padding:0 0 0 0; }
.pankuzu--list ol li br { display:none; }

/* fontSize */
.fontSize { background-color: var(--color_w); z-index: 100; position: fixed; bottom:0; left:0; border-top:var(--border_g); border-right: var(--border_g); }
.fontSize dl { display:flex; flex-direction: column; align-items: stretch; justify-content: space-between; }
.fontSize dl dt { width:3rem; -webkit-writing-mode:vertical-rl; -ms-writing-mode:tb-rl; writing-mode:vertical-rl; font-feature-settings:"pkna"; display:flex; justify-content: center; align-items: center; font-size: 1rem; line-height: 1em; font-weight: 400; padding:1rem; }
.fontSize dl dd a { display:flex; justify-content: center; align-items: center; height: 100%; line-height: 3rem; font-weight: 400; border-top: var(--border_g); }
.fontSize dl dd a:hover { background-color: var(--color_lg); }
.fontSize dl dd.large a { font-size: 1.6rem; }
.fontSize dl dd.default a { font-size: 1.2rem; }
.fontSize dl dd.small a { font-size: 0.9rem; }

/* footer */
#footer { clear: both; padding:0 0; border-top: var(--border_g); }
.home #footer { border-top:none; }
#footer footer .footer_bn { background-color: #eee; padding:2rem 0; margin:0 auto; }
#footer footer .footer_bn ul { width:var(--c_width); padding: 0 3rem; margin: 0 auto; min-width:960px; max-width: 1140px; }
#footer footer .footer_bn ul { display: flex; flex-wrap: wrap; gap: 1rem; }
#footer footer .footer_bn ul li { width: calc(25% - 0.75rem); padding:0; margin:0; line-height:0; }
#footer footer .footer_bn ul li a { display: block; aspect-ratio: 260/65; }
#footer footer .footer_bn ul li a img { object-fit: contain; width:100%; height:100%; }
#footer footer .footer_bottom { text-align: left; background-color: var(--color_g); color:var(--color_w); padding:2.5rem 0; margin:0 auto; }
#footer footer .footer_bottom a { color:#fff; }
#footer footer .footer_bottom .footer_bottom--inner { position: relative; display: flex; justify-content: space-between; align-items: flex-start; width:var(--c_width); padding: 0 3rem; margin: 0 auto; min-width:960px; max-width: 1140px; }
#footer footer .footer_bottom .footer_bottom--inner .footer_address .footer_address--title { font-size: 1.35rem; line-height: 1.3em; font-weight: 300; }
#footer footer .footer_bottom .footer_bottom--inner .footer_address .footer_address--ex { font-size: 0.9rem; line-height: 1.4em; margin:0.85em 0; }
#footer footer .footer_bottom .footer_bottom--inner .footer_address .footer_address--adm { font-size: 0.8rem; line-height: 1.4em; }
#footer footer .footer_bottom .footer_bottom--inner .footer_gnav { width:40%; display: flex; justify-content: space-between; }
#footer footer .footer_bottom .footer_bottom--inner .footer_gnav ul { border-left:var(--border_w); padding-left:1.5rem; }
#footer footer .footer_bottom .footer_bottom--inner .footer_gnav ul:nth-child(2) {margin-right:1rem; }
#footer footer .footer_bottom .footer_bottom--inner .footer_gnav ul li { font-size: 1.4rem; line-height: 1em; margin-bottom:0.75em; font-weight: 300; letter-spacing: 0.1em; }
#footer footer .footer_bottom .footer_bottom--inner .footer_gnav ul li:last-child { margin-bottom:0; }
#footer footer .footer_bottom .footer_bottom--inner .footer_gnav ul li a { color:var(--color_w); }
#footer footer .footer_bottom .footer_bottom--inner .footer_sns { position: relative; width:13%; border-top:var(--border_w);  margin-top:0.5rem; }
#footer footer .footer_bottom .footer_bottom--inner .footer_sns .footer_sns--title { position: absolute; top:-0.5rem; left:0; right:0; text-align: center; font-size: 0.8rem; line-height: 1em; }
#footer footer .footer_bottom .footer_bottom--inner .footer_sns .footer_sns--title span { background-color: var(--color_g); display:inline-block; padding:0 0.5em; }
#footer footer .footer_bottom .footer_bottom--inner .footer_sns ul { display: flex; justify-content: space-between; padding-top:1.5rem; }
#footer footer .footer_bottom .footer_bottom--inner .footer_sns ul li a { font-size: 2rem; line-height: 1em; color:var(--color_w); }
#footer footer .footer_bottom .footer_bottom--inner .footer_credit { position: absolute; bottom:0; left:38.5%; font-size: 0.7rem; line-height: 1em; }
#footer footer .footer_bottom .footer_bottom--inner .footer_credit a { font-size: 1.2em; line-height: 1; margin-left:3em; }
#footer footer .footer_bottom .footer_bottom--inner .footer_credit a i { font-size: 0.85em; margin:0 0.75em 0 0; }

#pagetop a { color:var(--color_w); background-color:var(--color_g); border-top:var(--border_w); border-left:var(--border_w); padding:1.2rem; position:fixed; right:0; bottom:0; font-size:0.8rem; line-height:1em; }

/* main */
#main { width:var(--c_width); margin:auto; padding:2rem 3rem 2rem 3rem; }
#main li { padding:0; margin:0; }
#main li span { color:var(--color_w); background-color:var(--color_g); position:absolute; top:0; right:0;z-index:999999; font-size:1.1em; line-height:1em; display:block; padding:0.7em;  }
#main li picture { display:block; aspect-ratio: 16 / 9; }
#main li picture img { object-fit: cover; width:100%; height:100%; }

/* information */
#contents .information { padding:2rem 0 3rem 0; display:flex; justify-content:space-between; border-top:var(--border_g); border-bottom:var(--border_g); }
#contents .information .left { width:25%; margin:0; border-right:var(--border_g); padding:0 2.5rem 0 0; text-align:center; }
#contents .information .left h3 { display:none; }
#contents .information .left #biz_calendar p { padding:0; margin:0; float:none; display:inline-block; font-size:1em; line-height:1em; }
#contents .information .left #biz_calendar p span { float:none; display:inline-block; width:auto; }
#contents .information .left #biz_calendar p a { display:inline-block; float:left; }
#contents .information .left #biz_calendar table.bizcal { margin:0 0 0.5em 0; border-top-style:none; border-bottom-style:none; }
#contents .information .left #biz_calendar table.bizcal .eventday a { border-radius:50%; border:var(--border_g_l); height:1.5em; width:1.5em; display:inline-block; line-height:1.5em; }
#contents .information .left #biz_calendar table.bizcal .today { color:var(--color_g); position: relative; background-color: var(--color_w); border-radius: 50%; }
#contents .information .left #biz_calendar table.bizcal .today::before { box-sizing: border-box; content:""; position: absolute; top:0.15em; left:0; display:block; width:1.9em; height:1.9em; border:var(--border_g); border-radius: 50%; }
#contents .information .left #biz_calendar table.bizcal .holiday { color:var(--color_w) !important; background-color:var(--color_g) !important; }
#contents .information .left #biz_calendar table.bizcal .holiday.today { color:var(--color_g) !important; background-color:var(--color_w) !important; }
#contents .information .left #biz_calendar table.bizcal .holiday.today::before { box-sizing: border-box; content:""; position: absolute; top:0; left:0; display:block; width:100%; height:100%; background-color: var(--color_g); border-radius: 0; z-index: -1; }
#contents .information .left #biz_calendar table.bizcal th { padding:0; height:2.2rem; width:14.285%; white-space:nowrap; font-size:0.8em; font-weight: 400; line-height:1em; text-align:center; vertical-align:middle; }
#contents .information .left #biz_calendar table.bizcal td { padding:0; height:2.2rem; width:14.285%; white-space:nowrap; font-size:1em; font-weight: 400; line-height:1em; text-align:center; vertical-align:middle; }
#contents .information .left #biz_calendar table.bizcal td.calmonth { font-size:1.4em; line-height:1em; text-align:left; padding:0 0 2rem 0; }
#contents .information .left #biz_calendar table.bizcal td.calbtn { padding:0 0 1.5rem 0; }
#contents .information .left #biz_calendar table.bizcal td.calbtn img { height:auto; width:1em; }
#contents .information .left .yoyaku { text-align:center; margin:0.5rem auto; padding:1rem 0 0 0; border-top:var(--border_g_l); }
#contents .information .left .yoyaku img { height:auto; width:auto; }
#contents .information .right { width:calc(100% - 25% - (300px + 2rem)); padding:0 1.25rem; }
#contents .information .right .news { display:block; }
#contents .information .right .news h2 { width:100%; margin:0 0 1.5rem 0; padding:0; font-size:1.6em; display:flex; justify-content:space-between; align-items:center; }
#contents .information .right .news h2 a { font-size:0.6em; line-height:1em; font-weight:400; }
#contents .information .right .news h2 a i { margin-right:0.75em; }
#contents .information .right .news ul { width:100%; }
#contents .information .right .news ul li { padding:0.7rem 0; border-top:var(--border_g); }
#contents .information .right .news ul li:last-child { padding:0.7rem 0 0 0; }
#contents .information .right .news ul li a { display:block; text-decoration:none; }
#contents .information .right .news ul li a:hover { text-decoration:underline; }
#contents .information .right .news dl { margin:0; padding:0; display:flex; flex-direction: column; justify-content:flex-start; align-items:flex-start; }
#contents .information .right .news dt { font-size:1em; line-height:1.4em; }
#contents .information .right .news dd { font-size:0.75em; line-height:1.4em; font-weight:400; text-align:right; opacity: 0.5; padding:0 0 0 0; white-space: nowrap; }
#contents .information .pickup { width:calc(300px); height: 100%; padding:0 0 0 0; }
#contents .information .pickup .slick-list { border: solid var(--color_g) 0.2rem; }
#contents .information .pickup .pickup--item { height:100%; padding:2.25rem 1.25rem 0.75rem 1.25rem; position: relative; }
#contents .information .pickup .pickup--item .thumb { text-align:center; aspect-ratio: 1 / 1.28; width:100%; margin:0 auto; }
#contents .information .pickup .pickup--item .thumb img { object-fit: contain; height:100%; width:100%; }
#contents .information .pickup .pickup--item .ex .date { text-align: center; font-size: 1rem; line-height: 1.4em; margin:0.6em auto 0.6em auto; }
#contents .information .pickup .pickup--item .ex .title { font-size: 0.7rem; line-height: 1.5em; letter-spacing: 0; text-align: center; }
#contents .information .pickup .pickup--item::before { content: "ピックアップ"; position: absolute; top:0; left:0; font-size: 0.8rem; line-height: 1em; background-color: var(--color_g); color:#ffffff; padding:0.25em 0.5em 0.5em 0.25em; }
#contents .information .pickup .sns_box { height:100%; padding:1.25rem; position: relative; }

/* event */
#contents .event { position:relative; }
.home #contents .event .evet_head { padding:4rem 0 0 0; }
#contents .event .evet_head { display:flex; justify-content: space-between; align-items: center; }
#contents .event h1 { display:block; clear:both; font-size:1.4em; line-height:1em; margin:0 0 2rem 0; }
#contents .event h1 span { border:var(--border_g); display:inline-block; clear:both; padding:0.5em 0.75em; }
#contents .event .evet_cat { margin: 0 0 2rem 0; }
#contents .event .evet_cat ul { display:flex; align-items: center; }
#contents .event .evet_cat ul li { width:auto; margin-left:1rem; font-size: 0.9em; line-height:1em; display:flex; align-items: center; }
#contents .event .evet_cat ul li span { border-radius:50%; background-color:var(--color_g); margin-right:0.5rem; width:2.5em; height:2.5em; }
#contents .event .evet_list ul { display:flex; flex-wrap:wrap; justify-content:flex-start; }
#contents .event .evet_list ul li { width:23.5%; margin:0 2% 1.75rem 0; }
#contents .event .evet_list ul li:nth-child(4n) { margin:0 0 1.75rem 0; }
#contents .event .evet_list ul li a { display:block; height:100%; border:var(--border_g); display:block; position:relative; }
#contents .event .evet_list ul li .thumb { padding:1.5rem 1.5rem 0.5rem 1.5rem; text-align:center; aspect-ratio: 1 / 1.28; }
#contents .event .evet_list ul li .thumb img { object-fit: contain; height:100%; width:100%; }
#contents .event .evet_list ul li .ex .date { font-size:0.9em; font-weight:400; line-height:1.5em; padding:0 0 0.75rem 0; margin:0 1.5rem; border-bottom:var(--border_g); }
#contents .event .evet_list ul li .ex .title { font-size:1.1em; line-height:1.5em; padding:1rem 1.5rem 4.5rem 1.5rem; margin:0; }
#contents .event .evet_list ul li .ex .hall { font-size:0.8em; line-height:1em; position:absolute; right:0; bottom:0; border-top:var(--border_g); border-left:var(--border_g); padding:0.5rem; letter-spacing:0; }
#contents .event .evet_list ul li .ex .hall span:first-child { display:none; }
#contents .event .evet_list ul li .ex .icon { font-size:1em; line-height:1em; color:var(--color_w); position:absolute; bottom:-1px; left:-1px; display:block; width:3.2em; }
#contents .event .evet_list ul li .ex .icon img { height:auto; width:100%; background-color:var(--color_g); }
#contents .event .cont { display:block; text-align:center; margin-right:auto; margin-left:auto; }
#contents .event .cont i { margin-right:0.5em; }
#contents .event .cont span { display:inline-block; padding-bottom:0.5em; border-bottom:var(--border_g_l); margin:2rem auto; line-height:1em; font-size:1.4em; }
#contents .event .cont span:last-child { display:block; font-size:1.2em; line-height:1em; border:none; text-align:center; }

/* contents */
#contents { overflow: hidden; text-align:left; margin:3rem auto 3rem auto; }
.home #contents { margin:0 auto 3rem auto; }
#contents h2 { font-size:1.4em; display:block; clear:both; margin:3em auto 1em auto; }
#contents h3 { font-size:1.1em; line-height:1.6em; font-weight: 600; margin: 2em auto 1em auto; }
#contents h4 { font-size:1.1em; line-height:1.6em; font-weight: 600; margin: 2em auto 1em auto; }
#contents h5 { font-size:1em; line-height:1.6em; font-weight: 700; margin: 2em auto 1em auto; }
#contents h6 { font-size:0.8em; line-height:1.6em; font-weight: 700; margin: 2em auto 1em auto; }
#contents p { font-size:1em; margin-bottom:2em; clear:both; line-height:1.8em; }
#contents p:last-child { margin-bottom:0; }
#contents sup { font-size:1em; font-weight:400; margin-bottom:2em; clear:both; text-align:left; }
#contents blockquote { padding:2.5em 3em; margin:2em 0; border:var(--border_g); font-style:italic; }
#contents img { max-width:100%; height:auto; }
#contents .map { margin-bottom:3em; }
#contents .waku { padding:2em; border:var(--border_g); overflow:hidden; display:block; clear:both; }
#contents table { width:100%; border-top:var(--border_g); clear:both; margin-bottom:1em; border-bottom:var(--border_g); }
#contents th { white-space:nowrap; background-color:var(--color_lg); }
#contents td { background-color:var(--color_w); }
#contents th,
#contents td { border-bottom:var(--border_g_l); font-size:1em; line-height:1.4em; padding:0.8em; }
#contents table h2,
#contents table h3,
#contents table h4,
#contents table h5,
#contents table h6 { margin: 0; }
#contents ol li { list-style-position:outside; list-style-type:decimal; padding-left:0; margin-left:2em; font-weight:400; }
#contents .slide_photo { margin:1rem 0 3rem 0; }

/* a */
#contents a.download { display:flex; justify-content: space-between; align-items: center; border-radius:2em; background-color:var(--color_lg); padding:0.7em 1.8em; font-size:1.1em; line-height: 1.4em; font-weight:400; }
#contents a.download .fa { font-size:1.4em; line-height:em; margin:0 0 0 1em; }
#contents a.download:hover { color:var(--color_w); background-color:var(--color_g); }
#contents a.link { border:var(--border_g); display:block; overflow:hidden; line-height:3em; font-size:1.1em; font-weight:400; }
#contents a.link .fa { color:var(--color_w); background-color:var(--color_g); padding:1em; float:left; margin-right:1em; }
#contents a.link:hover { color:var(--color_w); background-color:var(--color_g); }

/* l2a */
#contents .l2 { margin-bottom:2em; overflow:hidden; }
#contents .l2 h1:first-child { padding-top:0; display:block; }
#contents .l2 h1 { display:block; clear:both; font-size:1.35em; line-height:1em; float:left; width:25%; margin-top:0; }
#contents .l2 h1.privacy { line-height:1.4em; }
#contents .l2 h1 span { border:var(--border_g); display:inline-block; margin-bottom:1em; clear:both; padding:0.5em 0.75em; }
#contents .l2 dl { float:right; width:72%; margin-bottom:1em; }
#contents .l2 dt { display:block; margin-top:1em; float:left; width:35%; clear:both; font-size:1.2em; line-height:1em; }
#contents .l2 dt.title { margin-top:3em; width:100%; }
#contents .l2 dt.title:first-child { margin-top:0; }
#contents .l2 dt.sub { margin-top:1em; font-size:1.1em; line-height:1.5em; text-indent: 1em; }
#contents .l2 dt span { display:inline-block; margin-bottom:1em; border-bottom:var(--border_g); padding-bottom:0.5em; }
#contents .l2 dt span.att { border:none; display:block; padding-top:2em; padding-right:2em; font-size:0.8em; line-height:1.8em; }
#contents .l2 dd { display:block; text-align:left; float:right; width:65%; font-size:1em; line-height:2em; padding-top:1em; }
#contents .l2 dd.full { width:100%; }
#contents .l2 dd a.links { border-bottom: 1px solid var(--color_g); }
#contents .l2 .ex { width:72%; margin-bottom:3em; margin-left:auto; float:right; }
#contents .l2 ul li { list-style-position:outside; font-weight:400; text-indent:-1em; margin-left:1em; }
#contents .l2 ul li::before { content:"◯"; }

/* l2b */
#contents .l2b { overflow:hidden; margin-bottom:2em; }
#contents .l2b h1 { display:block; clear:both; font-size:1.35em; line-height:1em; }
#contents .l2b h1 span { border:var(--border_g); display:inline-block; margin-bottom:1em; clear:both; padding:0.5em 0.75em; }
#contents .l2b .flexslider { margin-bottom:2em; }
#contents .l2b .left { float:left; width:65%; }
#contents .l2b .right { float:right; width:30%; }
#contents .l2b .data { margin-top:2em; border-bottom:var(--border_g); margin-bottom:1em; }
#contents .l2b .data dt { border-top:var(--border_g); text-align:center; padding-top:0.2em; padding-bottom:0.2em; font-size:0.85em; font-weight:400; }
#contents .l2b .data dd { text-align:center; padding-top:0.8em; padding-bottom:0.8em; border-top: var(--border_g_d); line-height:1.5em; }
#contents .l2b .data dd p { margin-bottom:0; }
#contents .l2b .ex { width:72%; margin-bottom:3em; margin-left:auto; }

/* l2c */
#contents .l2c { overflow:hidden; margin-bottom:2em; }
#contents .l2c h1 { display:block; clear:both; font-size:1.35em; line-height:1.4em; font-weight: 300; margin-bottom:0.5em; }
#contents .l2c h1 span { border:var(--border_g); display:inline-block; margin-bottom:1em; clear:both; padding:0.5em 0.75em; }
#contents .l2c .flexslider { margin-bottom:2em; }
#contents .l2c .left { float:left; width:48%; }
#contents .l2c .left table,
#contents .l2c table { width:100%; }
#contents .l2c .left table th,
#contents .l2c table th { padding:1em; }
#contents .l2c .left table td,
#contents .l2c table td { vertical-align:middle; padding:1em; line-height:1.6em; }
#contents .l2c table td a { display:block; word-wrap: break-word; overflow-wrap: break-word; }
#contents .l2c .left table p,
#contents .l2c table p { margin:0; }
#contents .l2c .right { float:right; width:48%; }
#contents .l2c dl { float:right; width:72%; margin-bottom:2em; }
#contents .l2c dt { display:block; margin-top:1em; float:left; width:35%; clear:both; font-size:1.3em; line-height:1em; }
#contents .l2c dt span { display:inline-block; margin-bottom:1em; border-bottom:var(--border_g); padding-bottom:0.5em; }
#contents .l2c dd { display:block; text-align:left; float:right; width:65%; font-size:1em; line-height:2em; padding-top:1em; }
#contents .l2c .ex { width:72%; margin-bottom:3em; margin-left:auto; }

/* l2d */
#contents .l2d { margin-bottom:2em; overflow:hidden; }
#contents .l2d h1:first-child { padding-top:0; display:block; }
#contents .l2d h1 { display:block; clear:both; font-size:1.35em; line-height:1em; width:auto; margin-top:0; }
#contents .l2d h1 span { border:var(--border_g); display: inline-block; margin-bottom:1em; clear:both; padding:0.5em 0.75em; }
#contents .l2d h2:first-child { padding-top:0; display:block; }
#contents .l2d h2 { display:block; clear:both; font-size:1.35em; line-height:1em; width:auto; margin-top:0; }
#contents .l2d h2 span { background-color: var(--color_lg); display:block; margin-bottom:1em; clear:both; padding:0.5em 0.75em; }
#contents .l2d dl { width:100%; margin-bottom:3em; display:flex; justify-content: space-between; flex-wrap: wrap; }
#contents .l2d dt { display:block; margin-top:1em; width:35%; clear:both; font-size:1.2em; line-height:1em; }
#contents .l2d dt span { display:inline-block; margin-bottom:1em; border-bottom:var(--border_g); padding-bottom:0.5em; }
#contents .l2d dt span.att { border:none; display:block; padding-top:2em; padding-right:2em; font-size:0.8em; line-height:1.8em; }
#contents .l2d dd { display:block; text-align:left; width:65%; font-size:1em; line-height:2em; padding-top:1em; }
#contents .l2d table { margin:0 0 0 0; }
#contents .l2d table tr td { width:12.5%; border-right:dashed 1px var(--color_g); text-align: center; }
#contents .l2d table tr td:last-child { border-right:none; }
#contents .l2d table tr:nth-child(even) td { background-color:var(--color_lg); }
#contents .l2d .att { font-size: 0.8em; margin:0 0 2em 0; }
#contents .l2d .equipment_photo { background-color: var(--color_lg); padding:2em 2em 1.5em 2em; margin: 3em 0; }
#contents .l2d .equipment_photo ul { display:flex; justify-content: center; gap: 2em; }
#contents .l2d .equipment_photo ul li { width:45%; text-align:center; }
#contents .l2d .toilet_equipment { background-color: var(--color_lg); padding:2em 2em 1em 2em; margin: 3em 0; }
#contents .l2d .toilet_equipment h3 { margin:0 0 1em 0; }
#contents .l2d .toilet_equipment ul { display:flex; justify-content: space-between; }
#contents .l2d .toilet_equipment ul li { width:22.5%; text-align:center; }
#contents .l2d .toilet_place { width:100%; }
#contents .l2d .toilet_place ul { display:flex; justify-content: space-between; flex-wrap: wrap; }
#contents .l2d .toilet_place ul li { width:48.5%; }
#contents .l2d .toilet_place h4 { background-color: var(--color_lg); padding:0.5em 0.5em 0.5em 1em; margin:1em 0 1em 0; }

/* l3 */
#contents.l3 section:nth-child(1) { width:22%; float:left; }
#contents.l3 section:nth-child(1) h1 { display:block; clear:both; font-size:1.35em; line-height:1em; margin:0 0 0 0; }
#contents.l3 section:nth-child(1) h1 span { border:var(--border_g); display:inline-block; margin-bottom:1em; clear:both; padding:0.5em 0.75em; }
#contents.l3 section:nth-child(2) { float:left; width:55%; }
#contents.l3 section:nth-child(2) .archive { border-bottom:var(--border_g); padding-bottom: 4rem; margin-bottom:4rem; }
#contents.l3 section:nth-child(2) .archive:last-child { margin:0; padding:0; border-bottom-style:none; }
#contents.l3 section:nth-child(2) .date { font-size:1em; margin-bottom:0.8em; line-height:1em; display:inline-block; }
#contents.l3 section:nth-child(2) h2 { font-size:1.6em; font-weight: 400; margin-bottom:1.5em; line-height:1.4em; padding:0; margin-top:0; }
#contents.l3 section:nth-child(3) { float:right; width:18%; margin-bottom:5em; margin-top:0.4em; }
#contents.l3 section:nth-child(3) li { border-bottom:var(--border_g); padding-bottom:1em; font-size:1em; margin-bottom:1em; }
#contents.l3 section:nth-child(3) li .date { display:inline-block; font-size: 0.8em; line-height:1em; margin-bottom:0.75em; }
#contents.l3 section:nth-child(3) li .title { line-height:1.4em; }

/* fee */
#contents .fee {  margin-bottom:2em; }
#contents .fee h1 { display:block; clear:both; font-size:1.35em; line-height:1em; float:left; }
#contents .fee h1 span { border:var(--border_g); display:inline-block; margin-bottom:1em; clear:both; padding:0.5em 0.75em; }
#contents .fee .caption { float:right; padding-top:1em; }

#contents .fee .fee_fragment { border:var(--border_g); padding:1.5em; clear:both; }
#contents .fee .fee_box { clear:both; border-left:var(--border_g); }
#contents .fee .fee_box a { border-top:var(--border_g); border-right:var(--border_g); padding:0.5em 2em; }
#contents .fee .fee_box a:hover { color:var(--color_w); background-color:var(--color_g); }
#contents .fee table { border:none; font-size:0.9em; margin:0; padding:0; }
#contents .fee th { white-space:nowrap; font-size:0.8em; padding-top:0.8em; padding-bottom:0.8em; }
#contents .fee td { font-size:1.3em; padding-top:0.4em; padding-bottom:0.4em; }
#contents .fee h6 { font-size:0.6em; }
#contents .fee th,
#contents .fee td { line-height:1.4em; background-color:var(--color_w); border-top:var(--border_g_d); border-bottom-style:none; }
#contents .fee tr:first-child th,
#contents .fee tr:first-child td { border:none; }
#contents .fee tr:nth-child(odd) td { background-color:var(--color_lg); }

/* ex */
#contents .ex .ex_box { background-color:var(--color_lg); font-size:0.9em; }
#contents .ex .ex_box p { margin:0; padding:1em 2em; }
#contents .ex .ex_box table { background-color:var(--color_lg); border:none; }
#contents .ex .ex_box th,
#contents .ex .ex_box td { background-color:var(--color_lg); border-top:var(--border_w); border-right-style:none; border-bottom-style:none; border-left-style:none; padding:1em 2em; }
#contents .ex .ex_box tr:first-child th,
#contents .ex .ex_box tr:first-child td { border:none; }

/* flow */
#contents .flow { overflow:hidden; margin-bottom:2em; }
#contents .flow:first-child { margin-bottom:0; }
#contents .flow h1 { display:block; clear:both; font-size:1.35em; line-height:1em; float:left; }
#contents .flow h1 span { border:var(--border_g); display:inline-block; margin-bottom:1em; clear:both; padding:0.5em 0.75em; }
#contents .flow .flow_a { display:none !important; }
#contents .flow .flow_process { display:flex !important; align-items: stretch; border-top:var(--border_g); border-bottom:var(--border_g); margin-bottom:3em; }
#contents .flow .flow_process h2 { font-size:4em; line-height:1em; padding:0; margin:0.2em 0 0.2em 0; font-weight:200; }
#contents .flow .flow_process p { margin-bottom:0.7em; font-weight:normal; font-size:1.4em; }
#contents .flow .flow_process .flow_process--01 { width: 33.333%; border-right: var(--border_g); }
#contents .flow .flow_process .flow_process--02 { width: 33.333%; border-right: var(--border_g); }
#contents .flow .flow_process .flow_process--03 { width: 33.333%; }
#contents .flow .flow_process .flow_process--head { height:15em; display:flex; flex-direction: column; justify-content: center; text-align: center; border-bottom: var(--border_g_d); }
#contents .flow .flow_process .flow_process--02 .flow_process--head { background-color: #EEF2E5; }
#contents .flow .flow_process .flow_process--03 .flow_process--head { background-color: #DEE6CC; border-right: none; }
#contents .flow .flow_process .flow_process--ex { padding:1.5em; }
#contents .flow .flow_process .flow_process--03 .flow_process--ex { border-right: none; }
#contents .flow .flow_b { table-layout:fixed; overflow:hidden; margin-bottom:3em; border:var(--border_g); }
#contents .flow .flow_b th { border-right:var(--border_g_d); border-top:var(--border_g); text-align:center; font-size:1.3em; font-weight:normal; }
#contents .flow .flow_b tr:nth-child(1) th { background-color:var(--color_w); border-right:var(--border_g_d); border-top-style:none; }
#contents .flow .flow_b tr:nth-child(2) th { background-color:var(--color_lg); border-right:var(--border_g_d); border-top:var(--border_g); }
#contents .flow .flow_b tr:nth-child(5) th { background-color:var(--color_lg); border-right:var(--border_g_d); border-top:var(--border_g); }
#contents .flow .flow_b tr:nth-child(8) th { background-color:var(--color_lg); border-right:var(--border_g_d); border-top:var(--border_g); }
#contents .flow .flow_b td { font-size:1em; border-top:var(--border_g); border-right:var(--border_g_d); vertical-align:top; padding:1em 2em; background-color:var(--color_w); }
#contents .flow .flow_b tr:nth-child(odd) td { background-color:var(--color_w); }
#contents .flow .flow_b td:last-child { border-right-style:none; }
#contents .flow .caption { float:right; padding-top:1em; }
#contents .flow .fee_fragment { clear:both; overflow:hidden; }
#contents .flow .fee_box { clear:both; border-left:var(--border_g); }
#contents .flow .fee_box a { border-top:var(--border_g); border-right:var(--border_g); padding:0.5em 2em; }
#contents .flow .fee_box a:hover { color:var(--color_w); background-color:var(--color_g); }
#contents .flow table { min-width:100%; border:none; font-size:0.9em; margin:0; padding:0; }
#contents .flow th { white-space:nowrap; font-size:0.8em; padding-top:0.8em; padding-bottom:0.8em; }
#contents .flow td { font-size:1.3em; padding-top:0.4em; padding-bottom:0.4em; }
#contents .flow h6 { font-size:0.6em; }
#contents .flow th,
#contents .fee td { line-height:1.4em; background-color:var(--color_w); border-top:var(--border_g_d); border-bottom-style:none; }
#contents .flow tr:first-child th,
#contents .fee tr:first-child td { border:none; }
#contents .flow tr:nth-child(odd) td { background-color:var(--color_lg); }
#contents .cul { padding-bottom:3em; border-bottom:var(--border_g); overflow:hidden; margin-bottom:4em; padding-right:7%; padding-left:7%; }
#contents .cul dl { float:left; width:50%; font-size:1.3em; line-height:2em; }
#contents .cul dt { margin-bottom:1em; }
#contents .cul dd { font-size:1.4em; vertical-align:text-bottom; }
#contents .cul dd span { font-size:2em; margin-right:0.1em; margin-left:0.1em; }
#contents .cul select { -moz-appearance:none; -webkit-appearance:none; appearance:none; border-radius:0; border:0; background:none transparent; vertical-align:text-bottom; font-size:inherit; color:inherit; box-sizing:content-box; border:var(--border_g); font-size:0.9em; background-color:var(--color_w); color:var(--color_g); margin:0 0.2em; text-align:center; padding:0.2em 0.5em; }

/* contact */
#contents .contact table { width:100%; table-layout:auto; border-top:var(--border_g); clear:both; margin-bottom:1em; }
#contents .contact th,
#contents .contact td { border-bottom:var(--border_g_l); font-size:1em; line-height:1.4em; padding:0.8em; }
#contents .contact tr:last-child th,
#contents .contact tr:last-child td { border-bottom-width:1.5px; }
#contents .contact tr td:last-child { padding: 0.8em 0 0.8em 0; }
#contents .contact input[type="submit"] { cursor:pointer; border-radius:2em; color:var(--color_w); background-color:var(--color_g); text-align:center; border:none; font-size:1.1em; width:100%; margin-top:1.5em; padding-top:1em; padding-bottom:1em; }
#contents .contact input[type="text"] { font-size:1em; line-height:1.4em; width:100%; border:none; padding-top:1em; padding-bottom:1em; background-color:var(--color_lg); padding:0.25em 0.5em; }
#contents .contact textarea { font-size:1em; line-height:1.4em; background-color:var(--color_lg); height:10em; width:100%; border:none; padding:0.25em 0.5em; }
#contents .contact .nes { font-size:0.6em; line-height:1em; background-color:var(--color_g); padding:0.5em; color:var(--color_w); white-space:nowrap; margin-right:auto; margin-left:auto; }
#contents section:nth-child(3) .tel { font-size:1.8em; line-height:1.2em; }
#contents section:nth-child(3) .time { font-size:0.7em; padding-bottom:1.5em; border-bottom:none; }

/* facility_top */
#contents .facility_top ul { overflow: hidden; }
#contents .facility_top li { float:left; margin-bottom:1em; }
#contents .facility_top li dt { margin-bottom:0.5em; }
#contents .facility_top li .title { float:left; font-size:1.2em; letter-spacing:0; vertical-align:middle; }
#contents .facility_top li .title span { margin-bottom:0.5em; font-size:0.6em; line-height:0.6em; vertical-align:middle; }
#contents .facility_top li.large .title { font-size:1.6em; }
#contents .facility_top li .seat_1 { float:right; }
#contents .facility_top li dd .fa { float:left; font-size:1.4em; line-height:1.3em; margin-right:0.1em; }
#contents .facility_top li .seat_2 { float:right; margin-left:1em; }
#contents .facility_top li .seat_1 span,
#contents .facility_top li .seat_2 span { border-radius:1em; font-size:1em; line-height:1.8em; color:var(--color_w); background-color:var(--color_g); padding-right:0.5em; padding-left:0.5em; display:block; letter-spacing:0.05em; min-width:2em; text-align:center; float:left; }
#contents .facility_top li.icon { float:right; }
#contents .facility_top li.icon .title { margin-right:1em; }
#contents .facility_top li.large { line-height:2em; width:100%; }
#contents .facility_top li.medium { width:49%; margin-right:2%; }
#contents .facility_top li.medium:nth-of-type(4) { margin-right:0; }
#contents .facility_top li.small { width:23.5%; margin-right:2%; }
#contents .facility_top li.small:nth-of-type(4n + 7) { margin-right:0; }
#contents .facility_top li.fclear { clear: both; }
#contents .facility_top li:nth-child(3),
#contents .facility_top li:nth-child(5),
#contents .facility_top li:nth-child(8),
#contents .facility_top li:nth-child(12) { clear: both; }

/* facility */
#contents .facility h1 { font-size:2em; line-height:1em; vertical-align:middle; margin-bottom:0.8em; margin-top:0; padding-top:0; }
#contents .facility h1 span { font-size:0.5em; vertical-align:middle; text-decoration:none; }
#contents .facility .photo { float:left; width:72.5%; margin-bottom:1em; }
#contents .facility .photo li { line-height: 0; padding:0; margin:0 0 1em 0; position:relative; }
#contents .facility .photo li img { padding:0; margin:0; }
#contents .facility .photo li span { display: block; background-color:var(--color_g); position:absolute; right:0; bottom:0; color:var(--color_w); padding:0.5em; line-height:1em; font-size:1.1em; }
#contents .facility .ex { float:right; width:24%; font-size:0.9em; line-height:2em; }
#contents .facility .ex .data { margin-top:2em; border-bottom:var(--border_g); margin-bottom:2em; }
#contents .facility .ex .data dt { border-top:var(--border_g); text-align:center; padding-top:0.2em; padding-bottom:0.2em; font-size:0.85em; font-weight:400; }
#contents .facility .ex .data dd { text-align:center; padding-top:1em; padding-bottom:1em; border-top:var(--border_g_d); line-height:1.5em; }
#contents .facility .ex .data dd strong { display:inline; font-size:1.8em; font-weight:normal; }
#contents .facility .ex .data dd p { margin:0; padding:0; }
#contents .facility .ex .data dd h6 { margin:0; padding:0; }
#contents .facility .ex ul { margin-bottom:2em; }
#contents .facility .ex li { margin-bottom:1em; font-size:0.9em; }

/* map_box */
#contents .map_box { position:relative; overflow:hidden; border-bottom:var(--border_g_l); padding:0; margin-top:0; margin-right:0; margin-bottom:1.5em; margin-left:0; }
#contents .map_box:last-child { margin:0; padding:0; border:none; }
#contents .map_hanrei { border-bottom:var(--border_g_l); margin:0 0 2em 0; }
#contents .map_box p { margin:0; padding:0; }
#contents .map_box .map_info { position:absolute; left:1em; top:0; z-index:999; font-size: 1rem; }
#contents .map_box .map_info h2 { font-size:3em; line-height:1em; padding:0; margin:0.25em 0 0.5em 0.4em; }
#contents .map_box .map_info ul { margin:0; padding:0; }
#contents .map_box .map_info span { width:3.5em; white-space: nowrap; display:inline-block; text-align:right; padding-right:1em; }
#contents .map_box.f3 .map_info h2,
#contents .map_box.f3 .map_info span { color:#F29600; }
#contents .map_box.f2 .map_info h2,
#contents .map_box.f2 .map_info span { color:#2DB6C4; }
#contents .map_box.f1 .map_info h2,
#contents .map_box.f1 .map_info span { color:#E75297; }
#contents .map_box.b1 .map_info h2,
#contents .map_box.b1 .map_info span { color:#87B828; }
#contents .map_box .map { float:right; width:80%; padding:0; margin:1em 2em 1.5em 0; }

/* wordpress */
#contents .wp-caption.alignleft { float:left; }
#contents .wp-caption.alignleft .wp-caption-text { font-size:0.8em; }
#contents .wp-caption.alignright { float:right; }
img.centered { display:block; margin-left:auto; margin-right:auto; }
img.alignright { padding:0; margin:0 0 1.5rem 2%; display:inline; max-width:47%; }
img.alignleft { padding:0; margin:0 1.5rem 2% 0; display:inline; max-width:47%; }
.aligncenter { margin-bottom:1rem; margin-right:auto; margin-left:auto; }
.alignright { float:right; margin-bottom:1.5rem; margin-left:1.5rem; }
.alignleft { float:left; margin-bottom:1.5rem; margin-right:1.5rem; }
img.aligncenter { display:block; }

/* scroll--w */
.scroll--w { overflow-x: scroll !important; margin:0 0 2rem 0; }
.scroll--w table { table-layout: auto !important; font-size: 0.9em; margin:0 0 1.5rem 0 !important; }
.scroll--w table.nowrap th,
.scroll--w table.nowrap td { white-space: nowrap !important; padding: 0.75em !important; }
.scroll--w table.flow_b.nowrap { width:max-content !important; }
.scroll--w table.flow_b.nowrap th,
.scroll--w table.flow_b.nowrap td { white-space: normal !important; width:12em !important; padding:0.75em !important; }
.scroll--w::-webkit-scrollbar { display:none !important; height: 0.75rem; }
.scroll--w::-webkit-scrollbar-thumb { background: var(--color_g); border-radius: 2em; }
.scroll--w::-webkit-scrollbar-track { background: var(--color_lg); border-radius: 2em; }

/* zaseki */
#contents .zaseki { position:relative; }
#contents .zaseki .zaseki_title { position: absolute; top:0; left:0; background-color: var(--color_g); color:var(--color_w); padding:0.25em 0.5em; }
#contents .zaseki .zaseki_att { position: absolute; bottom:1em; left:0; right: 0; text-align: center; color:var(--color_g); padding:0.25em 0.5em; }
#contents .zaseki .zaseki_att span { background-color: var(--color_g); color: var(--color_w); height:2.5em; width:2.5em; text-align: center; line-height: 2.5em; display:inline-block; border-radius: 50%; margin-right: 0.5em; }
#contents .zaseki .zaseki_view { position: absolute; top:0; left:0; width:100%; height:100%; }
#contents .zaseki .zaseki_view li { position: absolute !important; top:0; left:0; margin:0 !important; }
#contents .zaseki .zaseki_view li a { background-color: var(--color_g); color: var(--color_w); height:2.5em; width:2.5em; text-align: center; line-height: 2.5em; letter-spacing: 0; display:block; border-radius: 50%; }
#contents .zaseki .zaseki_view li a:hover { background-color: var(--color_w); color:var(--color_g); }
#contents .zaseki.zaseki_concert { margin:3em auto; background-color: var(--color_w); border: var(--border_g); padding:3em 25% 6em 25%; }
#contents .zaseki.zaseki_concert .zaseki_view li.zaseki_view_E5 { top:36.25%; left:32.5%; }
#contents .zaseki.zaseki_concert .zaseki_view li.zaseki_view_E17 { top:36.25%; left:47.5%; }
#contents .zaseki.zaseki_concert .zaseki_view li.zaseki_view_E29 { top:36.25%; left:61.5%; }
#contents .zaseki.zaseki_concert .zaseki_view li.zaseki_view_wheelchair { top:40.5%; left:64.2%; display: flex; flex-direction: column; justify-content: center; align-items: center; }
#contents .zaseki.zaseki_concert .zaseki_view li.zaseki_view_wheelchair p.wheelchair { font-size: 0.8em!important; text-align: center; line-height: 1em!important; margin-bottom: 0!important; background-color: var(--color_w); }
#contents .zaseki.zaseki_concert .zaseki_view li.zaseki_view_R5 { top:62.25%; left: 32.5%; }
#contents .zaseki.zaseki_concert .zaseki_view li.zaseki_view_R17 { top:62.25%; left: 47.5%; }
#contents .zaseki.zaseki_concert .zaseki_view li.zaseki_view_R29 { top:62.25%; left:61.5%; }
#contents .zaseki.zaseki_theater { margin:3em auto; background-color: var(--color_w); border: var(--border_g); padding:3em 3em 6em 3em; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_C7 { top:15.75%; left:30%; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_C18 { top:15.75%; left:47.75%; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_C30 { top:15.75%; left:64.5%; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_J7 { top:35.25%; left: 30%; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_J18 { top:35.25%; left: 47.75%; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_J30 { top:35.25%; left: 64.5%; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_wheelchair { top:49%; left:32.75%; display: flex; flex-direction: column; justify-content: center; align-items: center; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_wheelchair p.wheelchair { font-size: 0.8em!important; text-align: center; line-height: 1em!important; margin-bottom: 0.25em!important; background-color: var(--color_w); }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_R7 { top:74.75%; left: 30%; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_R18 { top:77.75%; left: 47.75%; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_R30 { top:74.75%; left: 64.5%; }

/* sp */
@media screen and (max-width:600px) {

/* var */
:root {
 --c_width:88%;
 --border_g:solid 1px var(--color_g);
 --border_w:solid 1px #ffffff;
 --border_tr:solid 1px transparent;
}

/* reset */
address, caption, cite, code, dfn, em, var { font-weight:300; }
h1, h2, h3, h4, h5, h6 { font-weight:300; }

/* options */
.pc { display:none; }
.sp { display:block; }

/* br */
.br { display:block; }
.br__pc { display:inline; }
.br__sp { display:block; }

/* wrapper */
#wrapper { padding:5rem 0 0 0; }
#header,
#nav,
#contents { width:90%; min-width:0; padding:0; }
#footer { min-width:0; }

/* header */
#header { position:fixed; top:0; left:0; right:0; background-color:var(--color_w); z-index:10; width:100%; }
#nav { display:none; }
#header h1 { width:100%; padding:1.25rem 16% 1.25rem 5%; margin: 0 0 0 0; }
#header .mark { display:none; }

/* footer */
#footer { font-size:0.7em; }
#footer footer { line-height:1em; }
#footer footer .footer_bn { padding:1.5rem 0; }
#footer footer .footer_bn ul { width:80%; padding: 0 0; min-width:0; }
#footer footer .footer_bn ul { display: flex; flex-direction: column; gap: 0; }
#footer footer .footer_bn ul li { width: 100%; margin:0.5rem 0; }
#footer footer .footer_bottom { padding:3rem 0 6rem 0; }
#footer footer .footer_bottom .footer_bottom--inner { flex-direction: column; padding: 0 2rem; min-width:0; }
#footer footer .footer_bottom .footer_bottom--inner .footer_address { order:3; }
#footer footer .footer_bottom .footer_bottom--inner .footer_address .footer_address--title { font-size: 1.25rem; }
#footer footer .footer_bottom .footer_bottom--inner .footer_address .footer_address--ex { font-size: 0.8rem; line-height: 1.6em; margin:1.25em 0 0 0; }
#footer footer .footer_bottom .footer_bottom--inner .footer_address .footer_address--ex a { color:var(--color_w); }
#footer footer .footer_bottom .footer_bottom--inner .footer_address .footer_address--adm { font-size: 0.7rem; line-height: 1.5em; }
#footer footer .footer_bottom .footer_bottom--inner .footer_gnav { order: 2; width:100%; flex-direction: column; }
#footer footer .footer_bottom .footer_bottom--inner .footer_gnav ul:nth-child(1) { margin: 2rem 0; }
#footer footer .footer_bottom .footer_bottom--inner .footer_gnav ul:nth-child(2) { margin: 0 0 2rem 0; }
#footer footer .footer_bottom .footer_bottom--inner .footer_gnav ul li { font-size: 1.5rem; margin-bottom:0.65em; }
#footer footer .footer_bottom .footer_bottom--inner .footer_sns { order: 1; width:100%;  margin:0.5rem 0 1rem 0; }
#footer footer .footer_bottom .footer_bottom--inner .footer_sns ul { justify-content: center; }
#footer footer .footer_bottom .footer_bottom--inner .footer_sns ul li { margin:0 1rem; }
#footer footer .footer_bottom .footer_bottom--inner .footer_sns ul li a { font-size: 2.5rem; }
#footer footer .footer_bottom .footer_bottom--inner .footer_credit { display:flex; flex-direction: column; order: 4; position: static; margin-top:1rem; font-size: 0.6rem; }
#footer footer .footer_bottom .footer_bottom--inner .footer_credit a { order: 1; font-size: 1.5em; margin:2.5em 0 0 0; }

#pagetop a { padding:1rem; font-size:0.75rem; }

/* pankuzu--list */
.pankuzu--list { padding:0.5rem 5%; min-width:0;  }
.pankuzu--list .pankuzu--list--title { padding:0 1rem 0 0; margin:0 1rem 0 0; }

/* fontSize */
.fontSize dl { flex-direction: row; }
.fontSize dl dt { width:auto; -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; font-size: 0.9rem; padding:0.95rem; }
.fontSize dl dd a { line-height: 1em; border-top: none; border-left: var(--border_g); width:2.6rem; }

/* main */
#main { width:100%; padding:0 0 0 0; margin:0; min-width:0; border:none; }
#main li span { font-size:0.9em; padding:0.5em; }
#main li picture { aspect-ratio: 1 / 1; }

/* information */
#contents { margin:0 auto; padding:1.5rem 0 1.5rem 0; }
#contents .information { padding:0 0; border-top:none; flex-direction:column; margin:0 0 3rem 0; }
#contents .information .left { order:1; width:100%; border-right:none; padding:0 0 0 0; }
#contents .information .left #biz_calendar table.bizcal th { height:2rem; }
#contents .information .left #biz_calendar table.bizcal td { height:2rem; font-size:1.1em; }
#contents .information .left #biz_calendar table.bizcal td.calmonth { padding:0 0 1rem 0; }
#contents .information .left #biz_calendar table.bizcal td.calbtn { padding:0 0 1rem 0; }
#contents .information .left #biz_calendar table.bizcal .today::before { top:0; left:17.5%; width:65%; height:100%; }
#contents .information .right { order: 3; width:100%; padding:0; }
#contents .information .right .news h2 { font-size:1.5em; }
#contents .information .right .news ul li:last-child { padding:0.8em 0; border-bottom:none; }
#contents .information .right .news dl { padding:0 0; }
#contents .information .right .news dt { width:100%; line-height:1.5em; font-weight: 400; margin:0 0 0.5em 0; }
#contents .information .right .news dd { width:100%; font-size:0.9em; line-height:1em; text-align:left; }
#contents .information .pickup { order: 2; width:100%; border-left:none; padding:2rem 0; text-align:center; margin-bottom:3rem; }
#contents .information .pickup .slick-list { border: solid var(--color_g) 0.15rem; }
#contents .information .pickup .pickup--item { padding: 2.5rem 1.25rem 1.5rem 1.25rem; }
#contents .information .pickup .pickup--item::before { font-size: 1rem; }
#contents .information .pickup .sns_box { width:100%; margin:auto; text-align: center; }

/* event */
#contents .event h1 { font-size:1.3em; margin:0 0 1em 0; }
#contents .event .evet_head { padding:0 0 0 0; }
.home #contents .event .evet_head { padding:0 0 0 0; }
#contents .event .evet_cat { display:none; }
#contents .event .evet_list ul { flex-direction:column; }
#contents .event .evet_list ul li { width:100%; margin:0 0 1rem 0; }
#contents .event .evet_list ul li:nth-child(4n) { margin:0 0 1rem 0; }
#contents .event .evet_list ul li a { display:flex; align-items:stretch; }
#contents .event .evet_list ul li .thumb { width:45%; padding:1rem; margin:0; border-right:var(--border_g); line-height: 0; }
#contents .event .evet_list ul li .thumb img { padding:0; margin:0; }
#contents .event .evet_list ul li .ex { width:55%; padding:1rem; position:relative; }
#contents .event .evet_list ul li .ex .date { font-size:0.8em; line-height: 1.2em; padding:0 0 0.5rem 0; margin:0; }
#contents .event .evet_list ul li .ex .title { font-size:1em; line-height:1.2em; padding:0.5rem 0 2rem 0; }
#contents .event .evet_list ul li .ex .hall { font-size:0.75em; }
#contents .event .evet_list ul li .ex .icon { width:2.5em; }
#contents .event .cont span { font-size:1.2em; }

/* l2a */
#contents .l2 h1 { display:inline-block; float:none; width:100%; margin-bottom:1em; }
#contents .l2 h1 span { margin-bottom:0; }
#contents .l2 dl { float:none; width:100%; }
#contents .l2 dt { float:none; width:100%; margin: 2em 0 1em 0; }
#contents .l2 dt.title { margin-top:1.5em; margin-bottom:1em; }
#contents .l2 dt.title:first-child { margin-top:1.5em; }
#contents .l2 dt.sub { text-indent: 0; }
#contents .l2 dt span { margin-bottom:0; }
#contents .l2 dd { float:none; width:100%; padding:0; margin-bottom:1em; }
#contents .l2 .ex { width:100%; }
#contents .l2 .ex h2 { font-size: 1.2em; line-height: 1.6em; }

/* ex */
#contents .ex .ex_box th,
#contents .ex .ex_box td { padding: 1em; line-height:1.5em; }
#contents .ex .ex_box tr:first-child th,
#contents .ex .ex_box tr:first-child td { line-height:1.4em; }

/* l2b */
#contents .l2b h1 { margin-bottom:1em; }
#contents .l2b h1 span { margin-bottom:0; }
#contents .l2b .left { float:none; width:100%; margin-bottom: 2rem; }
#contents .l2b .right { float:none; width:100%; margin-bottom: 2rem; }

/* l2c */
#contents .l2c h1 { font-size:1.34em; margin-bottom:1em; }
#contents .l2c h1 span { margin-bottom:0; }
#contents .l2c .left { float:none; width:100%; margin-bottom:2rem; }
#contents .l2c .right { float:none; width:100%; margin-bottom:2rem; }

/* l2d */
#contents .l2d h1 { display:inline-block; float:none; width:100%; margin-bottom:1em; }
#contents .l2d h1 span { margin-bottom:0; }
#contents .l2d h2 span { margin-bottom:1em; margin-top:2em; }
#contents .l2d dl { float:none; margin-bottom: 1em; }
#contents .l2d dt { float:none; width:100%; margin: 1em 0; }
#contents .l2d dt span { margin-bottom:0; }
#contents .l2d dd { float:none; width:100%; padding:0; margin-bottom:1em; }
#contents .l2d .ex { width:100%; }
#contents .l2d .ex h2 { font-size: 1.2em; line-height: 1.6em; }
#contents .l2d .equipment_photo { padding:1.5em 1em 1em 1em; margin: 0 0 2em 0; }
#contents .l2d .equipment_photo ul { display:flex; flex-direction: column; justify-content: center; gap: 1em; }
#contents .l2d .equipment_photo ul li { width:100%; text-align:center; }
#contents .l2d .toilet_equipment { padding:1em 1em 0 1em; margin: 0 0 2em 0; }
#contents .l2d .toilet_equipment ul { flex-wrap: wrap; }
#contents .l2d .toilet_equipment ul li { font-size: 0.9em; width:48.5%; margin:0 0 1em 0; }
#contents .l2d .toilet_place ul { flex-direction: column; gap: 0.5em; }
#contents .l2d .toilet_place ul li { width:100%; }
#contents .l2d .toilet_place h4 { font-size: 0.9em; margin:1.5em 0 1em 0; }

/* l3 */
#contents.l3 section:nth-child(1) { width:100%; float:none; margin-bottom:1em; }
#contents.l3 section:nth-child(1) h1 span { margin-bottom:0; }
#contents.l3 section:nth-child(2) { float:none; width:100%; padding-bottom:0; margin-bottom:1em; }
#contents.l3 section:nth-child(2) h2 { font-size:1.4em; }
#contents.l3 section:nth-child(3) { float:none; width:100%; margin-bottom:1em; }

/* fee */
#contents .fee h1 { float:none; margin-bottom:1%; }
#contents .fee h1 span { margin-bottom:0; line-height:1em; }
#contents .fee .caption { float:none; margin-bottom:1em; line-height:1.8em; display:block; }
#contents .fee .fee_box a { font-size:0.8em; line-height:1em; padding:0.4em; }
#contents .fee th { white-space:normal; width:20%; }

/* contents */
#contents th,
#contents td { font-size:0.9em; }

/* flow */
#contents .flow h1 { float:none; margin-bottom:0; }
#contents .flow .flow_process { flex-direction: column;  margin-bottom:0; }
#contents .flow .flow_process h2 { font-size:3em; margin:0 0 0.35em 0; font-weight:300; }
#contents .flow .flow_process p { font-weight:300; }
#contents .flow .flow_process .flow_process--01 { width: 100%; border-right:none; }
#contents .flow .flow_process .flow_process--02 { width: 100%; border-right: none; }
#contents .flow .flow_process .flow_process--03 { width: 100%; border-right: none; }
#contents .flow .flow_process .flow_process--head { height:auto; padding:1.5rem 0 0.4rem 0; order-bottom: var(--border_g_d); }
#contents .flow .flow_process .flow_process--ex { height: auto; padding:1rem 1.5em; border-right:none; border-bottom: var(--border_g); }
#contents .flow .flow_process .flow_process--03 .flow_process--ex { border-bottom: none; }
#contents .flow .caption { float:none; padding-top:0; line-height:1.6em; display:block; margin-bottom:1em; }
#contents .flow .fee_box ul { display:flex; align-items: stretch; }
#contents .flow .fee_box ul li { width:50%; }
#contents .flow .fee_box a { display:flex; align-items: center; width:100%; height:100%; padding:0.75em; font-size:0.75em; line-height:1.25em; white-space: normal; }

#contents .flow .flow_b th { font-size:1em; }
#contents .flow .flow_b td { font-size:0.9em; }
#contents .cul { width: auto; margin-top: 0; margin-bottom: 5rem; padding:0 0 1em 0; text-align: center; }
#contents .cul dl { float:none; width:100%; margin-bottom:1em; }
#contents .cul dt { margin-top:1.5em; margin-bottom:0.5em; }
#contents .cul dd { font-size:1.3em; }

/* contact */
#contents .contact .nes { font-size:0.7em; }
#contents .contact th,
#contents .contact td { font-size:0.9em; }

/* facility_top */
#contents .facility_top li .title { font-size:1em; line-height:1em; font-weight: 300; }
#contents .facility_top li .title span { font-size:0.45em; display:block; margin-top:0.6em; }
#contents .facility_top li.large .title { font-size:1.2em; }
#contents .facility_top li dt { margin-bottom:0; }
#contents .facility_top li dd .fa { font-size: 1.5em; line-height:1em; margin-top:0; }
#contents .facility_top li .seat_1 span,
#contents .facility_top li .seat_2 span { font-size: 0.8em; margin-top:0; }
#contents .facility_top li.icon { font-size:1em; line-height:1em; margin:0 0 0.4em 0; }
#contents .facility_top li.icon .title { margin-top:0.5em; font-size:0.8em; line-height:1em; }
#contents .facility_top li.medium { width:100%; margin-right:0%; }
#contents .facility_top li.medium .title { line-height:1em; font-size:1.2em; }
#contents .facility_top li.small { width:48%; margin-right:4%; }
#contents .facility_top li.small:nth-of-type(4n + 7) { margin-right:2%; }
#contents .facility_top li.small:nth-of-type(2n+7) { margin-right:0; }
#contents .facility_top li.small .title { font-size:0.9em; }

/* facility */
#contents .facility h1 { font-weight: 300; margin-bottom:0.2em; }
#contents .facility h1 span { display:block; }
#contents .facility .photo { float:none; width:100%; }
#contents .facility .ex { float:none; width:100%; }

/* map_box */
#contents .map_box .map_info { position:static; margin-bottom:1em; clear:both; overflow:hidden; font-size: 0.8rem; }
#contents .map_box .map_info h2 { margin:0 0 0.3em 0; }
#contents .map_box .map_info ul li { float:left; width:50%; line-height:1.4em; }
#contents .map_box .map_info span { width:3em; padding-right:0.5em; }
#contents .map_box .map { float:none; width:100%; margin: 0 0 1.5em 0; }

/* scroll--w */
.scroll--w::-webkit-scrollbar { display:block !important; height: 0.75rem; }

/* zaseki */
#contents .zaseki .zaseki_att { font-size: 0.9em!important; }
#contents .zaseki .zaseki_view li { font-size: 0.75em; }
#contents .zaseki.zaseki_concert { padding:2em 15% 5em 15%; }
#contents .zaseki.zaseki_concert .zaseki_view li.zaseki_view_E5 { top:34%; left:26%; }
#contents .zaseki.zaseki_concert .zaseki_view li.zaseki_view_E17 { top:34%; left:46.25%; }
#contents .zaseki.zaseki_concert .zaseki_view li.zaseki_view_E29 { top:34%; left:66%; }
#contents .zaseki.zaseki_concert .zaseki_view li.zaseki_view_wheelchair { top:39.25%; left:68.5%; }
#contents .zaseki.zaseki_concert .zaseki_view li.zaseki_view_wheelchair p.wheelchair { font-size: 0.9em!important; }
#contents .zaseki.zaseki_concert .zaseki_view li.zaseki_view_R5 { top:61.25%; left: 26%; }
#contents .zaseki.zaseki_concert .zaseki_view li.zaseki_view_R17 { top:61.25%; left: 46.25%; }
#contents .zaseki.zaseki_concert .zaseki_view li.zaseki_view_R29 { top:61.25%; left:66%; }
#contents .zaseki.zaseki_theater { padding:2em 1em 5em 1em; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_C7 { top:13%; left:28%; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_C18 { top:13%; left:46.25%; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_C30 { top:13%; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_J7 { top:32.25%; left: 28%; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_J18 { top:32.25%; left: 46.25%; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_J30 { top:32.25%; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_wheelchair { top:42.25%; left:31%; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_wheelchair p.wheelchair { font-size: 0.9em!important; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_R7 { top:67.75%; left: 28%; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_R18 { top:71%; left: 46.25%; }
#contents .zaseki.zaseki_theater .zaseki_view li.zaseki_view_R30 { top:67.75%; }

}

@media print {
#main,
#main li { height:420px !important; }
#contents .event .evet_list ul li .thumb { height:191.5px !important; }
#contents .event .evet_list ul li .thumb img { height:190px !important; }
#contents .event .evet_list ul li .thumb span img { height:50px !important; }
#contents .event .evet_list ul li a { height:390px !important; }
#contents .event dl { height:200px !important; }
}

/* size */
html { font-size:clamp(12px, 1.2vw, 16px); }
@media screen and (max-width:600px) {
html { font-size:clamp(0px, 4.2vw, 18px); }
}
