@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&family=Zen+Antique&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Antique&display=swap');

@font-face {
  font-family: YuGothicM;
  src: local(Yu Gothic Medium);
}
/* --------------
 reset
-------------- */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}
ol,ul{list-style:none}
caption{text-align:left}

img {max-width:100% !important; height:auto;vertical-align: bottom;}
iframe {max-width:100% !important; border:0;}

/* --------------
 clearfix
-------------- */
div:after,ul:after,ol:after,dl:after,
header:after,footer:after,
nav:after,section:after,article:after {
	content: "";
	display: block;
	clear: both;
}

/* --------------
 base
-------------- */
#header, #container, #footer{
	color: #111;
	font: 16px/1.6 "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif, heisei-maru-gothic-std, YuGothic, YuGothicM, 游ゴシック体, 'Yu Gothic', YuGothic, 'Noto Sans JP','Century Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	word-wrap: break-word;
	overflow-wrap: break-word;
  background-color: #fff;
}

#header .events_none{
  pointer-events: none!important;
  color: #6b6b6b!important;
}

#container {
  /* background-image: url("../img/bg.jpg"); */
}

@media all and (-ms-high-contrast: none) {
	#header, #container, #footer {
		font: 16px/1.6 "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif, heisei-maru-gothic-std, YuGothic, YuGothicM, 游ゴシック体, 'Yu Gothic', YuGothic, 'Noto Sans JP','Century Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	}
}

.serif {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.sans-serif {
	font-family:  'Noto Sans JP', 'Century Gothic', YuGothic,YuGothicM, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.zen-serif {
  font-family: 'Zen Antique', serif;
}

body #header *, body #container *, body #footer * {
	box-sizing: border-box;
}

h1,h2,h3,h4,h5,h6 {
	line-height: 1.2;
	word-break: break-word !important;
}
h1 {font-size: 1.5em;}
h2 {font-size: 1.3em;}
h3 {font-size: 1.1em;}
h4 {font-size: 1.0em;}
h5 {font-size: 1.0em;}
h6 {font-size: 1.0em;}

.clNavy {
	color: #0f4261;
}
.clBLK {
	color: #333!important;
}
.clRed {
	color: #a31818;
  font-weight: bold;
}
.clrRed {
	color: #ca151e;
}
.bgWt {
  background-color: #fffffd;
}
.bgAzure {
  background-color: #69b0ac;
}
.bgKhaki {
  background-color: #42602d;
}
.bgAmber {
  background-color: #f7c242;
}
.bgOrange {
  background-color: #D34C2C;
}


/* link */
main a, main a:visited {
	color: #333;
	text-decoration: none;
}
main a:hover {
  opacity: .7;
  transition: .3s;
}
/* --------------
 modules css
-------------- */
/* ---------- font weight */
.thin {	font-weight: 100 !important;}
.demilight {	font-weight: 300 !important;}
.normal {	font-weight: 400 !important;}
.medium {	font-weight: 500 !important;}
.bold {	font-weight: 700 !important;}
.black {	font-weight: 900 !important;}

/* ---------- align */
.alc { text-align: center !important;}
.alr { text-align: right !important;}
.all { text-align: left !important;}

.alt { vertical-align: top !important;}
.alb { text-align: bottom !important;}

/* ---------- float */
.noFloat { float: none !important;}

/* ---------- Cancele */
.both { clear: both;}

/* ---------- margin,padding */
.mb0 {	margin-bottom: 0px !important;}
.mb3 {	margin-bottom: 3px !important;}
.mb5 {	margin-bottom: 5px !important;}
.mb10 {	margin-bottom: 10px !important;}
.mb15 {	margin-bottom: 15px !important;}
.mb20 {	margin-bottom: 20px !important;}
.mb25 {	margin-bottom: 25px !important;}
.mb30 {	margin-bottom: 30px !important;}
.mb35 {	margin-bottom: 35px !important;}
.mb40 {	margin-bottom: 40px !important;}
.mb45 {	margin-bottom: 45px !important;}
.mb50 {	margin-bottom: 50px !important;}
.mb55 {	margin-bottom: 55px !important;}
.mb60 {	margin-bottom: 60px !important;}
.mb70 {	margin-bottom: 70px !important;}
.mb80 {	margin-bottom: 80px !important;}
.mb90 {	margin-bottom: 90px !important;}
.mb100 {margin-bottom: 100px !important;}

.ml0 {	margin-left: 0px !important;}
.ml5 {	margin-left: 5px !important;}
.ml10 {	margin-left: 10px !important;}
.ml20 {	margin-left: 20px !important;}
.ml30 {	margin-left: 30px !important;}

.mr0 {	margin-right: 0px !important;}
.mr5 {	margin-right: 5px !important;}
.mr10 {	margin-right: 10px !important;}
.mr20 {	margin-right: 20px !important;}
.mr30 {	margin-right: 30px !important;}

.mt0 {	margin-top: 0px !important;}
.mt3 {	margin-top: 3px !important;}
.mt5 {	margin-top: 5px !important;}
.mt10 {	margin-top: 10px !important;}
.mt15 {	margin-top: 15px !important;}
.mt20 {	margin-top: 20px !important;}
.mt30 {	margin-top: 30px !important;}
.mt50 {	margin-top: 50px !important;}

.mauto{ margin: 0 auto; }

.pb0 {	padding-bottom: 0px !important;}
.pb3 {	padding-bottom: 3px !important;}
.pb5 {	padding-bottom: 5px !important;}
.pb10 {	padding-bottom: 10px !important;}
.pb20 {	padding-bottom: 20px !important;}
.pb30 {	padding-bottom: 30px !important;}

.pt0 {	padding-top: 0px !important;}
.pt3 {	padding-top: 3px !important;}
.pt5 {	padding-top: 5px !important;}
.pt10 {	padding-top: 10px !important;}
.pt15 {	padding-top: 15px !important;}
.pt20 {	padding-top: 20px !important;}
.pt30 {	padding-top: 30px !important;}

.pl0 {	padding-left: 0px !important;}
.pl3 {	padding-left: 3px !important;}
.pl5 {	padding-left: 5px !important;}
.pl10 {	padding-left: 10px !important;}
.pl20 {	padding-left: 20px !important;}

.pr0 {	padding-right: 0px !important;}
.pr3 {	padding-right: 3px !important;}
.pr5 {	padding-right: 5px !important;}
.pr10 {	padding-right: 10px !important;}
.pr20 {	padding-right: 20px !important;}


/* ----- text */
.txtS {
	color: #666;
	font-size: 85%;
}

.txtNavy {
	color: #0f4261;
}

.clLtBl a{
  color: #00839e;
}
.cl-instagram {
  display: inline-block;
}
.cl-youtube, .cl-youtube:visited {color: #DA1725;}
.cl-facebook, .cl-facebook:visited {color: #1877f2;}
.cl-twitter, .cl-twitter:visited {color: #1DA1F2;}
.cl-instagram, .cl-instagram:visited {  background: -webkit-radial-gradient(33% 100% circle, #FED373 4%, #F15245 30%, #D92E7F 62%, #9B36B7 85%, #515ECF);
  background: radial-gradient(circle at 33% 100%, #FED373 4%, #F15245 30%, #D92E7F 62%, #9B36B7 85%, #515ECF);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;;}
  .cl-url, .cl-url:visited{
    color: #ff5f67;
  }
  .cl-shop, .cl-shop:visited{
    color: #ff7336;
  }

/* ----- text 縦書き */

.taketori-col {
	height: auto!important;
	padding-bottom: 0!important;
}

/* ----- list */
.ulDisc {
	margin-left: 22px;
	line-height: 1.4;
	list-style: outside disc;
}

li.discNone {
	list-style: none!important;
	margin-bottom: 0!important;
}

.olDecimal {
	margin-left: 22px;
	list-style: outside decimal;
}

.ulDisc li, .olDecimal li {
	margin-bottom: 10px;
}


/* ----- decoration (button, etc...) */

/* ----- button */
.more {
  font-weight: bold;
  text-align: right;
  margin: 20px 0 50px;
}
#container .more a{
  color: #a31818;
  position: relative;
}
.more a span {
  margin-right: 50px;
}
#container .more a:hover {
  opacity: .7;
  transition: .3s;
}
.more a::after {
  content: "";
  display: block;
  background-image: url("../img/more.png");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  width: 68px;
  height: 35px;
  /*margin-left: auto;
  margin-bottom: 5px;
  margin-right: 0;*/
  position: absolute;
  top: 15px;
  right: 0;
}
.more a:hover::after {
  content: "";
  display: block;
  background-image: url("../img/more_hover.png");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  width: 68px;
  height: 35px;
  /*margin-left: auto;
  margin-bottom: 5px;
  margin-right: 0;*/
  position: absolute;
  top: 15px;
  right: 0;
}
#home .bg_single {
  padding-top: 50px;
}

/* ----- img */
.ofi {
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

.ofi-contain {
  object-fit: contain;
  font-family: 'object-fit: contain;'
}

.squareImg{
  position: relative;
}
.squareImg::before{
  content: "";
  display: block;
  padding-top: 100%;
}
.squareImg img{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
/* ----- margin,padding for contents */



/* ----- fadein */

.fadein {
    opacity : 0.1;
    transform : translate(0, 120px);
    transition : all 800ms;
}

/* 画面内に入った状態 */
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
    }

/* ----- coming soon用（後、削除） */

a.eventNone {
	pointer-events: none!important;
}
#ticket .icons a[target="_blank"]::after,
#ticket .purchase .alc a[target="_blank"]::after,
#ticket .bnrFlex a[target="_blank"]::after {
  content: none;

}
a[target="_blank"]::after {
  content: "\f08e";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  width: 1em;
  height: 1em;
  vertical-align: middle;
  margin-left: 0.5em;
}
a.noicon::after {
  content: none;
}
/* ----- flex */
.flex {
  display: flex;
}

/* ----- 折り返し */
.nl {
  display: inline-block;
}

/* ----- Line */
.through {
  text-decoration: line-through;
}

/* ----- youtube responsive */
.youtube {
  position: relative;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* --------------
 tdc reset
-------------- */

.footer-to-top {
  display: none;
}
#siteFooter ul li a {
	text-decoration: none;
}
main button, main input, main select, main textarea {
  -webkit-appearance: auto;
  -moz-appearance: auto;
  appearance: auto;
  background: auto;
  border: solid 1px #333;
}
#container select {
  font-weight: normal;
  border: solid 1px #333;
  /* border-radius: 0; */
  background: #fff;
  /*background-repeat: no-repeat;
  background-position: 100% 50%;*/
}
#container select option {
  font-weight: normal;
}

/* --------------
 common
-------------- */

/* =header
-------------------------------------------------------------- **/



#header li span {
  font-size: .8em;
}

/* =siteHeader
---------------------------------------------------- */

.navOutside {
	/*filter: drop-shadow(2px 4px 6px rgba(0,0,0,.14));*/
	background-color: #fff;
}

@media all and (-ms-high-contrast: none) {
	.navOutside {
		box-shadow: 2px 4px 6px rgba(0,0,0,.14);
	}
}


.headerNav {
	text-align: center;
	margin: 0 auto;
}

#siteHeader {
	text-align: left;
}

.navStage,.navMap,.footerStage,.footerMap {
  pointer-events: none;
}


#globalNav .nolink{
  background-color: #999;
}

/* =globalNav
---------------------------------------------------- */


#globalNav li {
	margin: 0 .5em;
	padding: 1em 0;
}


/* =container
-------------------------------------------------------------- **/
/* =breadcrumb
---------------------------------------------------- */


.bread__ul li {
	display: inline-block;
  font-size: 12px;
}

.bread__ul li a {
	color: #000;
}

.bread__ul li a:after {
	content: " > ";
}

/*#breadcrumb {
	margin-bottom: 20px;
}
#breadcrumb li {
	color: #AAA;
	font-size: 12px;
	display: inline-table;
}
#breadcrumb li a {
	color: #CCC;
	padding-right: 5px;
}
#breadcrumb li a:after {
	content: "　>";
}
#breadcrumb li a:hover {
	color: #999;
}*/

/* =headline / titles
---------------------------------------------------- */


/* =sidebar
---------------------------------------------------- */
/* =aside
------------------------------------------ */


/* =footer
-------------------------------------------------------------- **/

#footer {
  color: #fff;
  background-color: #333;
}
#footer a {
  color: #fff;
}

/* =siteFooter
---------------------------------------------------- */


#footNav > .footMenu > li.noLink::before {
  color: #666;
}
#footNav > .footMenu > :last-child:after {
  content: none;
}


/*old*/
#footTop .address > p:first-of-type {
	padding-right: 1.5em;
}

#footTop .address > p:last-of-type {
	padding-left: 1.5em;
}

#footTop .btnBox2 {
	justify-content: flex-end;
}

#footNav ul li a {
	color: #fff;
  display: inline;
}
#footNav .footIcons li.mypage a {
  display: inline-block;
  color: #333;
  padding: .5em 1em;
}
#footNav ul li.noLink a {
	color: #666;
}
#footNav .footIcons li.ticket a,
#footNav .footIcons li.social a {
  position: relative;
  color: #fff;
}
#footNav .footIcons li.ticket a::before {
  content: "";
  width: 80%;
  background: #fff;
  height: 1px;
  position: absolute;
  top: 48%;
  right: -100%;
  margin-left: 0.5em;
}
#footNav .footIcons li.ticket a::after {
  content: "";
  width: 10%;
  background: #fff;
  height: 1px;
  position: absolute;
  top: 40%;
  right: -100%;
  transform: rotate(35deg);
}
#footNav .footIcons li.ticket {
  width: fit-content;
  border: solid 2px #fff;
  padding: 0.5em 6em 0.5em 3em;
}

#footNav ul li {
  color: #666;
}

#footNav ul li:last-of-type {
	margin-right: 0;
	margin-bottom: 0;
}
#footer span.icon {
  font-size: 2.5em;
  vertical-align: middle;
}

/* =copyright
---------------------------------------------------- */
#copyright {
  font-size: .8em;
}
#copyright a {
	color: #FFF;
}

/* =pageTop
---------------------------------------------------- */
#pageTop {
	display: block;
	position: fixed;
	z-index: 1000;
}

#pageTop_en {
	display: block;
	position: fixed;
	z-index: 1000;
}

#pageTop a {
	text-indent: -9999px;
	background: url(../img/pageTop.png) no-repeat;
	background-size: contain;
	display: block;
  margin: auto;
}

#pageTop_en a {
	text-indent: -9999px;
	background: url(../img/pageTop.png) no-repeat;
	background-size: contain;
	display: block;
  margin: auto;
}

#pageTop a.btn_ticket {
	background: url(../img/btn_ticket.png) no-repeat;
	background-size: contain;
}

#pageTop_en a.btn_ticket {
	background: url(../img/en/btn_ticket.png) no-repeat;
	background-size: contain;
}

/* スマホ版チケット常時表示 */
#spTicket a.btn_ticket {
	text-indent: -9999px;
	background: url(../img/btn_ticket.png) no-repeat;
	background-size: contain;
  width: 60px;
  height: 160px;
	display: block;
}
#spTicket {
  right: 0;
  bottom: 60px;
	display: block;
	position: fixed;
	z-index: 1000;
}

#spTicket_en a.btn_ticket {
	text-indent: -9999px;
	background: url(../img/en/btn_ticket.png) no-repeat;
	background-size: contain;
  width: 60px;
  height: 160px;
	display: block;
}
#spTicket_en {
  right: 0;
  bottom: 60px;
	display: block;
	position: fixed;
	z-index: 1000;
}

/* =#social
---------------------------------------------------- */


/* =pagenation1914c
---------------------------------------------------- */
.pager b {
  background-color: #333;
  color: #fff;
  border: 1px solid #333;
  padding: .2em .5em;
  margin: 0 .2em;
  display: inline-block;
}
.pager a {
  border: 1px solid #333;
  padding: .2em .5em;
  color: #333;
  margin: 0 .2em;
  display: inline-block;
}

/* --------------
 home contents
-------------- */
/* =visual
---------------------------------------------------- */


/* =top
---------------------------------------------------- */

.homeHL2 svg, .homeHL2 i {
  fill: #741f1b;
  width: 20px;
  font-size: 20px;
}

#home .homeHL3 {
  text-align: center;
  /* font-family: 'Zen Antique', serif; */
  position: relative;
  padding: 0.8rem;
  font-weight: normal;
}

/* = about*/

#home .aboutImg img {
  width: 1150px;
  padding: 0 10px;
}

.homeAboutInner {
  margin-bottom: 15px;
}

#homeAbout mark {
  color: #741f1b;
  display: inline;
  background: none;
	background-image: linear-gradient(rgba(0,0,0,0) 50%, rgb(247,196,91) 50%);
}

/* =news */
#homeNews {
  position: relative;
}
#homeNews .restart {
  width: 100%;
}

.homeNewsInner {
  width: 90%;
  margin: 0 auto 1em;
  background-color: #fff;
}

#homeNews .txt dl {
  /* border-bottom: solid 1px #ccc; */
}

/* =covid19(accbox) */
.accbox {
  width: 90%;
  margin: 0 auto 30px;
}
.accbox input {
    display: none;
}
.accbox .txt_c, .accbox .tk {
    text-align: center;
}
.accbox label {
    display: block;
    padding: 20px 30px 20px 20px;
    border: solid 2px #ca151e;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s;
    position: relative;
    font-size: 1.2em;
    margin: 10px 0;
  background-color: #fffffd;
}
.accbox label.tk {
  border-color: #c1914c;
  font-size: 1em;
    color: #fff;
    background: #c1914c;
}
.accbox label:hover {
    color: #fff;
    background: #ca151e;
}
.accbox label.tk:hover {
  background-color: transparent;
  color: #c1914c;
}
.accbox label::after {
    position: absolute;
    right: 15px;
    font-family: "Font Awesome 5 Free";
    content: '\f107';
    font-weight: 900;
    top: 50%;
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.accbox .accshow {
  height: 0;
  padding: 0 1em;
  overflow: hidden;
  opacity: 0;
  transition: 0.5s;
  text-align: left;
  background-color: #fffffd;
}
.accbox .accshow dl,
.accbox .accshow p {
    font-size: 16px;
    margin-bottom: 1em;
    line-height: 2;
}
.accbox .accshow dl,
.accbox .accshow p:last-child {
  margin-bottom: 0;
}
.accbox .cssacc:checked + label + .accshow {
  height: auto;
  padding: 20px 1em 40px;
  opacity: 1;
}
.accbox .cssacc:checked + label + .accshow.tk_l {
  padding: 20px 0 40px;
}
.accbox .cssacc:checked + label:after {
  content: '\f106';
}
.accbox label.txt_c {
  margin-top: 30px;
}

/* = movie */


/* = matsuri */
.homeMatsuriCont h3 {
  margin-bottom: 10px;
}

.homeMatsuriCont p {
  line-height: 1.2;
}
.tvTtl {
  display: flex;
  align-items: center;
}
.tvTtl p small{
  display: block;
  line-height: 1.6;
}
.NHK .ttlLogo {
  margin-right: 10px;
}
.NHK .person small {
  line-height: 1.2;
  display: block;
}
.personImg  {
  position: relative;
  margin: 5px 0;
}
.personImg::before {
  content: "";
  display: block;
  padding-top: 133.3%;
}
.personImg img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  object-fit: cover;
  margin: auto;
}

/* #homeSpecial */

.homeSpecialCont .squareImg img:last-of-type{
  object-fit: contain;
}



/* #homeProgramMap */
.homeCominngsoon {
  margin: 0 auto !important;
}
.homeCominngsoon::before {
  display: none;
}


/* =SNS */
.homeSNSBtn {
  display: flex;
  justify-content: center;
}
.homeSNSBtn::after {
  content: none;
}
.homeSNSBtn li {
  margin: 0 1rem 1rem;
}
.homeSNSBtn i {
  font-size: 50px;
}

.homeSNSBtn a.cl-youtube:hover {
  color: #DA1725;
  opacity: 0.7;
}
.homeSNSBtn a.cl-facebook:hover{
  color: #1877f2;
  opacity: 0.7;
}
.homeSNSBtn a.cl-twitter:hover {
  color: #1DA1F2;
  opacity: 0.7;
}
.homeSNSBtn a.cl-instagram:hover {
  background: -webkit-radial-gradient(33% 100% circle, #FED373 4%, #F15245 30%, #D92E7F 62%, #9B36B7 85%, #515ECF);
  background: radial-gradient(circle at 33% 100%, #FED373 4%, #F15245 30%, #D92E7F 62%, #9B36B7 85%, #515ECF);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;;
  opacity: 0.7;
}

.top_decoration img,.bottom_decoration img {
  min-width: 100%;
}

/* homeVideo */

#homePrevious .homeVideo {
  width: 70%;
  margin: 1em auto 5%;
}
#homePrevious .homeVideo .videoIframe {
  position: relative;
  width: 100%;
  height: 0px;
  padding-top: 56.25%;
}
#homePrevious .homeVideo .videoIframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* --------------
 subpages contents
-------------- */
.subpage #container{
  background-image: url("../img/bg_beige.jpg");
  padding-bottom: 2em;
}
/* =page
---------------------------------------------------- */

/*common*/

.subHeader {
	background-size: cover;
	background-repeat: no-repeat;
	margin-top: 60px;
}

.bkFilter {
	background-color: rgba(0,0,0,.3);
}

.subHeader h2 {
	text-align: center;
	margin: auto;
	color: #fff;
}

.subHeader h2 img {
	margin-bottom: .3em;
}

.subHeader h2 span {
	position: relative;
    display: inline-block;
    padding-top: 10px;
}

.subHeader h2 span::before {
    content: " ";
    position: absolute;
    width: 100%;
    height: 2px;
    line-height: 1px;
    border-top: 2px solid #fff;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
}


.subpage main article:last-of-type {
	margin-bottom: 0;
}


.subHL1 {
  font-family: 'Zen Antique', serif;
  color: #ca151e;
  position: relative;
  display: inline-block;
  font-weight: normal;
}

.ajiSearch .subHL1 {
  position: initial;
}
.ajiSearch .subHL1 span{
  position: relative;
}
.ajiSearch .subHL1::before, .ajiSearch .subHL1::after {
  display: none;
}
.ajiSearch .subHL1 span::before, .ajiSearch .subHL1 span::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 20px;
  height: 3px;
  background-color: #ca151e;
}
.ajiSearch .subHL1 span::before {
  left: -40px;
}
.ajiSearch .subHL1 span::after {
  right: -40px;
}



/* special */

#special .spList li:first-of-type a{
  font-size: .8rem;
}

/*#exhibition .planList {
  padding: 15px 40px;
  margin-bottom: 10px;
  border: 1px solid #333333;
}
#exhibition .planList li {
  margin-bottom: 5px;
}
#exhibition .quiltList li {
  margin-right: 5px;
  margin-left: 5px;
}
#exhibition .quiltList li:last-child {
  margin-right: 0;
}

#exhibition .quiltList {
}

#exhibition .quiltList .slick-prev:before,
#exhibition .quiltList .slick-next:before {
  color: #741f1b;
}

#exhibition #quilt .more {
  text-align: left;
  margin: 0;
}*/
/*
#special .spList .olDecimal li {
  list-style-position: inside;
}

#special .quiltList li {
  margin: 0 5px;
}

#special .quiltList .slick-prev:before,
#special .quiltList .slick-next:before {
  color: #ca151e;
} */
.spLogo {
  width: 20%;
  text-align: center;
}

.donburiCaption {
  width: 75%;
  margin-left: 5%;
}

.donburiList li {
  background-color: #fbf0df;
}
.donburiImgs {
  text-align: center;
}
.donburiImgs div{
  /* border: solid 1px #333; */
  background: #fbf0df;
}
.donburiName {
  margin-bottom: 10px;
  text-align: center;
  font-weight: 700;
  font-size: 1.1em;
}

/* #special h2 {
  font-family: 'Zen Antique', serif;
  font-weight: normal;
} */

.h3Box {
  text-align: center;
  margin-bottom: 30px;
}
.h3Box h3{
  display: inline-block;
  padding: 10px 30px;
  background-color: #c1914c;
  color: #fff;
}


#special #sp2 .way{
  margin-bottom: 0 !important;
}


/* .kenchiTxt {
  background-color: #fbf0df;
  border-radius: 15px;
  padding: 10px;
} */



.exhibitList {
  /* border: 2px solid; */
  padding: 10px;
  background: #fbf0df;
}

.exhibitName {
  font-weight: 700;
  font-size: 1.1em;
}

.toHomepage a {
  border-bottom: solid 1px;
}
.toHomepage .hpArrow {
  display: inline-block;
  border-top: solid 1px #c1914c;
  border-right: solid 1px #c1914c;
  width: 12px;
  height: 12px;
  transform: rotate(45deg);
}
.toHomepage a:hover .hpArrow{
  border-top: solid 1px #ca151e;
  border-right: solid 1px #ca151e;
}


.released h3{
  position: relative;
  width: 200px;
  margin: 0 auto;
}
.released h3::before {
  left: -10%;
}
.released h3::after {
  right: -10%;
}
.released h3::before, .released h3::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 40px;
  height: 2px;
  background-color: #222;
}


/*about*/

#ticket h2, #ticket #container h1 {
  text-align: center;
  margin-bottom: 20px;
}

#ticket .moreBtn {
  text-align: center;
  margin: 0;
}
#ticket .moreBtn a {
  display: inline-block;
  background-color: #e83528;
  border: solid 2px #e83528;
  color: #fff;
  padding: .5em .9em .2em 1em;
  border-radius: 100vh;
}
#ticket .moreBtn a:hover {
  background-color: #fff;
  color: #e83528;
}

#ticket .playguideList {
  /*display: flex;
  flex-wrap: wrap;
  justify-content: space-between;*/
  text-align: center;
  align-items: center;
}

#ticket #safety p {
  margin-bottom: 10px;
}
#ticket #safety ul {
  margin: 1em 0;
}
#ticket #safety li {
  margin-left: 2em;
  list-style: disc;
}

/*mypage index*/

#login #loginBox {
  padding:30px;
}

#login .loginForm {
  margin-right: auto;
  margin-left: auto;
  background-color: #FFF;
  padding: 30px;
}

#login .loginForm input {
  padding: .8em;
  background-color: #fbf9f4;
  border: solid 1px #ca151e;
}

#login .loginForm .submitBtn input {
  display: inline-block;
  background-color: #c1914c;
  border: solid 2px #c1914c;
  border-radius: 10px;
  color: #fff;
}
#login .loginForm .submitBtn input:hover {
  background-color: #fff;
  color: #c1914c;
}

/*market(aji) detail*/

.detailSNSbtn {
  margin-top: 20px;
  display: flex;
  justify-content: center;
}
.detailSNSbtn li{
  margin: 0 1.2rem;
}
.detailSNSbtn i {
  font-size: 33px;
}
.detailSNSbtn a.cl-facebook:hover{
  color: #1877f2;
  opacity: 0.7;
}
.detailSNSbtn a.cl-twitter:hover {
  color: #1DA1F2;
  opacity: 0.7;
}
.detailSNSbtn a.cl-instagram:hover {
  background: -webkit-radial-gradient(33% 100% circle, #FED373 4%, #F15245 30%, #D92E7F 62%, #9B36B7 85%, #515ECF);
  background: radial-gradient(circle at 33% 100%, #FED373 4%, #F15245 30%, #D92E7F 62%, #9B36B7 85%, #515ECF);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 0.7;
}


#shop_detail .shopItems h3{
  margin-bottom: 1.5em;
}

#shop_detail .shopItems .itemImg {
  position: relative;
}
#shop_detail .shopItems .itemImg:before{
  content: "";
  display: block;
  padding-top: 100%;
}
#shop_detail .shopItems .itemImg img{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

#shop_detail .shopTxtInfo dl {
  border-bottom: solid 2px #aaa;
  position: relative;
}

#shop_detail .shopTxtInfo dl:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #ca151e;
  bottom: -2px;
  width: 30%;
  min-width: 100px;
}

#shop_detail .shopGenre dd span::after {
  content: " / ";
}
#shop_detail .shopGenre dd span:last-child::after {
  content: none;
}


/*market(aji)一覧 共通*/
.marketBtn {
  text-align: center;
  margin: 50px auto 30px;
}
.marketBtn a {
  border: solid 2px #c1914c;
  padding: .5em 1.5em .5em;
  border-radius: 100vh;
}
.marketBtn a:hover {
  background-color: #c1914c;
  color: #fff;
}

.marketMore {
  text-align: center;
  margin: 20px auto;
}
.marketMore a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.marketMore a::after {
  content: "";
  display: inline-block;
  background-image: url(../img/more_g.png);
  background-size: contain;
  vertical-align: middle;
  width: 61px;
  height: 40px;
  margin-left: 1em;
  margin-bottom: 5px;
}
.marketMore a:hover::after {
  content: "";
  display: inline-block;
  background-image: url(../img/more_r.png);
  background-size: contain;
  vertical-align: middle;
  width: 61px;
  height: 40px;
  margin-left: 1em;
  margin-bottom: 5px;
}

    
.searchInputCont .searchInput select,
.searchInputCont .searchInput input[type="text"] {
  width: 100%;
  padding-left: 20px;
  background-color: #fff;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 10px;
  height: 40px;
  color: #666;
  position: relative;
}
.searchInputCont .searchCat{
  position: relative;
}
.searchInputCont .searchCat::after{
	content:'\f0d7';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-style: normal;
	font-variant: normal;
 	text-rendering: auto;
	line-height: 1;
	color:var(--sub-color);
	width:0;
	z-index:0;
	position:absolute;
	top:50%;
	right:32px;
	transform:translateY(-50%);
  pointer-events: none;
}
.searchInputCont input[type="submit"] {
  width: 10%;
  height: 40px;
  padding: 0 10px;
  color: #fff;
  border-radius: 10px;
  border: none;
  position: relative;
  display: inline-block;
}

.searchInputCont button i {
  margin-right: .2em;
}
.searchInputCont button:hover {
  opacity: .7;
  transition: .3s;
}


/*market index*/

/*#market .workList a{
  color: #741f1b;
}
#market .workList a:hover{
  color: #e83528;
}

#market .genreList > li {
  margin-bottom: 20px;
  background-color: #fbf9f4;
}*/
#aji .shopList .bgWt {
  padding: 1em;
}



/*news*/

/*#news .newsBox dl{
  border-bottom: solid 1px #ca151e;
}
#news .newsBox dl:last-child{
  border-bottom: none;
}*/

#newssub .newsImg img {
  max-height: 95vh;
}

/*workshop*/

.WSschedule a{
  color: #fff;
  display: block;
  font-size: .9em;
  line-height: 1.2;
  width: 100%;
  height: 100%;
  padding: .5em .8em 0;
}
.WSschedule a:hover{
  /*color: #741f1b;*/
  color: #fff;
  background-color: #111;
}
.WSschedule table {
  margin: 0 10px;
}
.WSschedule caption{
  text-align: center;
  font-size: 1.2em;
  font-weight: bold;
}
.WSschedule tbody{
  border-top: solid 1px #741f1b;
  border-bottom: solid 1px #741f1b;
}
.WSschedule .measureBox tbody {
  border-bottom: none;
}
.WSschedule th{
  width: 75px;
  height: 60px;
  text-align: center;
}
.WSschedule td {
  height: 30px;
  margin: 0 10px;
}
.WSschedule td.quarter {
}
.WSschedule .measureBox th {
  vertical-align: top;
}
.WSschedule .just {
  border-bottom: dashed 1px #741f1b;
}
.WSschedule .half {
  border-bottom: solid 1px #741f1b;
}
.WSschedule .bdrNone {
  border-bottom: none;
}
.WSschedule .dashed {
  border-bottom: dashed 1px #741f1b;
}
.WSschedule .solid {
  border-bottom: solid 1px #741f1b;
}
.WSschedule .course{
  background-color: #d65e3e;
  color: #fff;
}
.WSschedule td.frame05 {
  height: 60px;
}
.WSschedule td.frame15 {
  height: 180px;
}
.WSschedule td.frame20 {
  height: 240px;
}

#WScontents .WScourseBox {
  margin: 20px auto;
  border: solid 2px #ca151e;
  padding: 1em;
}
#WScontents .WScourseBox p {
  margin-bottom: 1rem;
}
#WScontents .WShead {
  border-bottom: dashed 2px #ca151e;
  padding: .5em 0 .3em;
}
#WScontents .status {
  font-weight: bold;
  border-radius: 10px
}
#WScontents .status.max {
  color: #e83528;
}
#WScontents .WStitle {
  font-size: 1.2em;
  font-weight: bold;
  color: #e83528;
}
#WScontents dl {
  margin-bottom: .5em;
}
#WScontents dt {
  background-color: #ca151e;
  color: #fff;
  padding: .3em .5em;
  display: inline-block;
  vertical-align: top;
}
#WScontents dd {
  padding: .3em .5em;
  display: inline-block;
  width: calc(100% - 75px);
}

/* map */

.mapList dl {
  display: flex;
}
.mapList dt, .mapList dd {
  padding: .5em .5em;
  display: flex;
  align-items: center;
}
.mapList dt {
  text-align: center;
  justify-content: center;
}

.mapListHead dt{
  border: solid 1px #b84988;
  color: #b84988;
  background-color: #d8c0ce;
  font-size: .9em;
}
.mapListHead dd {
  border: solid 1px #b84988;
  color: #b84988;
  background-color: #d8c0ce;
  border-left: none;
  font-size: .9em;
}

.mapListDetail dt {
  border: solid 1px #b84988;
  background-color: #c7a0b7;
  color: #33242d;
}
.mapListDetail dd {
  border: solid 1px #b84988;
  background-color: #fff;
  color: #33242d;
  border-left: none;
}

/* = matsuri */

.matsuriBox {
  margin-bottom: 10px;
}
#matsuri #schedule {
  max-width: 500px;
  margin: 0 auto;
  padding: 25px 0 34px;
}

#matsuri .more a span {
  margin-right: 50px;
}



#matsuri #schedule a {
  position: relative;
}
#matsuri #schedule a::after {
  content: "";
  display: block;
  background-image: url(../img/more.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  width: 68px;
  height: 35px;
  position: absolute;
  top: 15px;
  right: -25%;
}
#matsuri #schedule a:hover::after {
  content: "";
  display: block;
  background-image: url(../img/more_hover.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  width: 68px;
  height: 35px;
  position: absolute;
  top: 15px;
  right: -25%;
}


#matsuri .subpageLead {
  position: relative;
}
#matsuri .matsuriTtl_left {
  position: absolute;
}
#matsuri .matsuriTtl_right {
  position: absolute;
}


/* ポップアップウインドウの設定 */
.popup {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
	width: 100%;
	height: 0;
	opacity: 0;
	transition: .1s opacity ease-out, .1s z-index ease-out;
	z-index: -1;
	transition-delay: .1s, .5s;
}
/* チェックボックスの初期設定 */
input[type=checkbox].ishidden {
  display: none;
}
/* チェックされたらポップアップウインドウを開く */
input[type=checkbox]:checked + .popup{
  display: block;
	opacity: 1;
  height: auto;
	z-index: 1001;
	transition-delay: 0s, 0s;
	transition-duration: .1s, .1s;
}
.popup-inner {
	position: absolute;
	top: 50%;
	left: 50%;
  width: 90vw;
	max-width: 1200px;
	margin: auto;
  background-color: #fffffd;
  overflow-y: auto;
	transform: translate(-50%, -50%);
	transition: .5s opacity ease-in-out;
	opacity: 0;
  max-height: 100vh;
}
/* チェックされたらポップアップウインドウを開く */
input[type=checkbox]:checked + .popup .popup-inner{
	opacity: 1;
}



/* 閉じるアイコン（右上） */
.icon-close{
  background: #D34C2C;
  color: #fff;
  font-size: 20px;
  padding: 5px;
  position: absolute;
  right: 0;
	line-height: 1;
	cursor: pointer;
}


/* 閉じる背景 */
.bg-close{
	display: block;
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .8);
	cursor: pointer;
}

/* 閉じるボタン */
.btn-close{
  background: #000;
  border-radius: 10px;
  color: #fff;
  padding: 10px;
  cursor: pointer;
  margin: 10px auto;
  width: 95%;
  text-align: center;
}

/* button */
.backBtn {
  display: block;
  padding: .5em 1em;
  background-color: #FAF2D6;
  border: double 5px #6D0E0C;
  width: fit-content;
  margin: 1em auto;
}

/* ポップアップの内容 */
.popup-content{
  margin: 35px auto;
  width: 90%;
	color: #191919;
}
.popup-name {
  font-size: 1.5em;
  text-align: center;
  font-weight: bold;
}

.btn-open {
  position: relative;
	cursor: pointer;
  border: 1px solid #333;
}
.btn-open .btn_txt{
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  padding: .2em;
  background-color: #D34C2C;
  color: #fff;
}
.btn-open .btn_img {
  position: relative;
}
.btn-open .btn_img .info {
  opacity: 0;
  background: #D34C2C;
  color: #fff;
  writing-mode: vertical-rl;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  transition: .5s;
}
.btn-open .btn_img .info .copy{
  width: 100%;
  font-size: 1.4em;
  display: flex;
  align-items: center;
  padding-top: 1.5em;
}
.btn-open .btn_img .info .date{
  font-size: .8em;
  position: absolute;
  bottom: 25%;
  left: 5%;
}
.btn-open:hover .btn_img .info {
  /* opacity: .8; */
  opacity: 1;
}

#matsuri .popup-img {
  text-align: center;
}
#matsuri .popup-img img {
  max-height: 70vh;
}
#homeCompany .footCompanyBox {
  width: 90%;
  margin: auto;
}

#matsuri .matsuritNav ul,
#ticket .ticketNav ul {
  display: flex;
  justify-content: space-around ;
  margin: 1em auto;
}
#matsuri .matsuritNav ul::after,
#ticket .ticketNav ul::after {
  content: none;
}
#matsuri .matsuritNav ul a,
#ticket .ticketNav ul a {
  width: 18%;
  display: flex;
  justify-content: center;
  flex-flow: column;
  align-items: center;
  padding: .5em;
  background: #333;
  color: #fff;
  text-align: center;
  border-radius: 10px;
}
#ticket .ticketNav ul a:first-of-type {
  background-color: #6D0E0C;
}
#ticket .ticketNav ul a:nth-of-type(2),#ticket #fun h3.section_ttl  {
  background-color: #6E5C17;
}
#ticket .ticketNav ul a:nth-of-type(3),#ticket #gourmet h3.section_ttl {
  background-color: #016E23;
}
#ticket .ticketNav ul a:nth-of-type(4),#ticket #drink h3.section_ttl {
  background-color: #6e075e;
}
#ticket .ticketNav ul a:nth-of-type(5),#ticket #group h3.section_ttl {
  background-color: #070D6E;
}
.fs16 {
  font-size: 16px;
}

.prehead {
  background-color: #fdf5e6;
  padding: 0.5em;
  margin-bottom: 10px;
}

#matsuri .matsuritNav {
  /* width: 80%; */
  margin: 1em auto;
}
#matsuri .matsuritNav ul a {
  background-color: #D34C2C;
}
#rules .section_ttl,
#spec .section_ttl,
#ticket .section_ttl {
  font-size: 1.4em;
  text-align: center;
  background-color: #6D0E0C;
  color: #fff;
  padding: .5em;
  margin: 2em auto 1em;
}
#spec .section_sub,
#rules .section_sub,
#shop_detail .section_sub,
#ticket .section_sub {
  font-size: 1.4em;
  text-align: center;
  color: #6D0E0C;
  padding: .5em;
  margin: 1em auto;
}
#rules .section-inner,
#spec .section-inner,
#ticket .section-inner {
  background: #fff;
  padding: 1%;
}
#ticket .purchase h2 {
  font-size: 1.5em;
  margin: 1em auto;
}
#ticket .attention {
  font-size: .8em;
}
#ticket .attention dl,
#ticket .ticket-attention dl {
  display: flex;
}
#ticket .purchase a {
  display: block;
}
#ticket .section-content{
  border: solid 2px #6D0E0C;
  background: #fff;
  padding: 5%;
}
#ticket .ticketList {
  margin: 1em auto;
}
#ticket .ticketList dl {
  display: flex;
  margin-bottom: 1em;
}
#ticket .ticketList dl .flex-row{
  display: flex;
  justify-content: space-around ;
}
#ticket .ticketList dl .flex-row::after{
  content: none;
}
#ticket .ticketList dt {
  background: #6D0E0C;
  text-align: center;
  color: #fff;
  width: 30%;
  padding: 1em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
#ticket .ticketList dl dd {
  padding: 1em;
  width: 70%;
  background: #F7F7F7;
  color: #333;
  text-align: center;
}
#ticket .ticketList dl .dotLine {
  width: 90%;
  margin: auto;
  padding-bottom: .2em;
  border-bottom: 1px dotted #666;
}
#ticket .ticketList dl span.dotLine {
  display: inline-block;
}
#ticket .ticketList dl .price,
#ticket .early-info dl .price {
  font-weight: 900;
  font-size: 1.5em;
}
#ticket .ticketList dl .remarks {
  padding: .5em;
  font-size: .8em;
}
#ticket #bleachers .info {
  width: 80%;
  margin: auto;
  text-align: center;
}
#ticket #bleachers .info p {
  font-weight: bold;
  margin-bottom: 1em;
}
#ticket .ttl_icon h4, 
#ticket .section-content .section_part {
  padding: 1em 0 .5em;
  display: flex;
  align-items: center;
  border-bottom: 3px solid #333;
  margin-bottom: 1em;
}
#ticket .ttl_icon img,
#ticket .section-content .section_part img {
  width: 7%;
  margin-right: 1em;
}

#bleachers .section-content .early-info {
  display: flex;
  width: 80%;
  margin: 1em auto;
}
#bleachers .section-content .early-info dl {
  display: flex;
  flex-flow: column;
  align-items: center;
  margin: 1em auto;
}
#bleachers .section-content .early-info dl dt {
  background-color: #3390BC;
  color: #fff;
  border-radius: 10px;
  padding: .5em 2em;
  font-weight: bold;
}
#bleachers .section-content .early-info dl dd {
  color: #3390BC;
}
#bleachers .date {
  font-weight: 500;
  padding: 1em;
  text-align: center;
  background: #F7F7F7;
  margin: 1em auto;
}
#matsuri #square,
#matsuri #outdoor {
  background-color: #fff;
  padding: 1em;
}

#matsuri .section_ttl p {
  text-align: center;
  margin-bottom: 1em;
}
#matsuri #square .clm3 {
  margin: 1em auto;
}
#matsuri .schdule {
  text-align: center;
  margin: 1em auto;
}
#matsuri .schdule h3 {
  width: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  font-size: 1.5em;
  background-color: #fff;
  color: #6D0E0C;
  border: 1px solid #6D0E0C
}
#matsuri .schdule h3 i {
  display: inline-block;
  font-size: 1.5em;
  padding: .5em;
  background-color: #6D0E0C;
  color: #fff;
}
#matsuri .schdule h3 span {
  position: relative;
  padding: .5em;
  display: inline-block;
  padding-left: .5em;
}
#matsuri #outdoor .performance {
  margin-bottom: 5%;
  display: flex;
  justify-content: space-around;
}
#matsuri #outdoor .section_ttl {
  margin-bottom: 2em;
}
#matsuri #outdoor .performance .about_txt {
  width: 45%;
}
#matsuri #outdoor .performance .about_txt dl {
  display: flex;
}
#matsuri #outdoor .performance .about_txt h3 {
  width: fit-content;
  background-color: #333;
  color: #fff;
  font-size: 2em;
  margin-bottom: 1em;
  padding: .2em;
}
#matsuri #outdoor .performance .about_txt h3.first {
  margin-bottom: .2em;
}
#matsuri #outdoor .performance .about_txt dl dt {
  position: relative;
  width: 25%;
  margin-bottom: 1em;
  padding-left: .5em;
}
#matsuri #outdoor .performance .about_txt dl dt::before {
  content: '';
  background-color: #333;
  width: 4px;
  height: 25px;
  position: absolute;
  left: 0;
}
#matsuri #outdoor .performance .about_txt dl dd {
  width: 75%;
  padding-left: .5em;
}
#matsuri #outdoor .performance .about_img {
  width: 45%;
  position: relative;
}
#matsuri #outdoor .performance .about_img .team {
  position: absolute;
  bottom: 10%;
  right: 5%;
  color: #fff;
  text-shadow: 0 0 10px #000,0 0 15px #000;
}
#matsuri #outdoor .map h2 {
  text-align: center;
  width: 60%;
  margin: 1em auto;
  background-color: #D34C2C;
  color: #fff;
  padding: .5em;
}
#matsuri main {
  padding-bottom: 0;
}
#home .contentLine {
  width: 100%;
  background: #A31818;
  margin: 0;
  border: none;
  height: 20px;
}
#home .specialNight .attention{
  font-size: .8em;
}
#mainNav li a {
	/*display: inline-block;*/
	display: block;
}
#mainNav li.mypage,
#footNav .footIcons li.mypage {
  border: double 5px #333;
  background-color: #FAF2D6;
}
#mainNav li.mypage a {
  color: #333;
  padding: 0 .5em;
}
/* 20221025追記 */
#shop_detail .detailShop a {
  display: inline-block;
  width: 70%;
  padding: .2em;
  color: #fff;
  margin: .5em auto;
  background-color: #D34C2C;
  border-radius: 2em;
}
#shop_detail .workList li,
#container .workList li a,
#container .shopList li a {
  /* border: 1px solid #333; */
  border-radius: 0 0 10px 10px;
  background-color: #fff;
}
#container .workList li .list_txt,
#container .shopList li .list_txt {
  padding: 1em;
  color: #333;
  background-color: #fff;
  border-radius: 0 0 10px 10px;
}
#container .workList li .list_txt .list_tag,
#container .shopList li .list_txt .list_tag {
  font-size: .7em;
  width: fit-content;
  /* background-color: #333;
  color: #fff; */
  color: #333;
  border-bottom: solid 1px #333;
  padding: .2em .5em;
  margin-bottom: .2em;
}
#matsuri #container .schdule,
#matsuri #container .schdule h3 {
  position: relative;
}
#matsuri #container .schdule #mask, 
#matsuri #container .schdule h3 #mask_color {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
#matsuri #container .schdule #mask {
  z-index: 100;
  color: #fff;
  text-align: center;
}
#matsuri #container .schdule #mask h2 {
  margin-top: .5em;
  font-weight: 900;
  font-size: 2em;
}
#matsuri #container .schdule h3 #mask_color {
  background-color: rgba(0, 0, 0, .5);
}
#mv p img {
  display: block;
}
#homeSpecial .specialNight .imgBox{
  margin: 2em auto 0;
}
#homeSpecial .special .iconBox {
  display: flex;
  flex-wrap: wrap;
}
#homeSpecial .special .iconBox .icon-inner .imgBox {
  width: 100%;
  height: 100%;
  max-height: 240px;
  position: relative;
}
#homeSpecial .special .iconBox .icon-inner .imgBox img {
  width: 100%;
  height: 100%;
}
#homeSpecial .special .iconBox .icon-inner .logo {
  filter: drop-shadow( #fff 1px 1px 2px);
  position: absolute;
  width: 40%;
  top: -5%;
  left: -5%;
}
#homeSpecial .special .iconBox .icon-inner #mask {
  text-align: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, .3);
  z-index: 100;
}
#homeSpecial .special .iconBox .icon-inner #mask img{ 
  width: 80%;
  object-fit: contain;
}
#homeSpecial .special h2 span{
  display: inline-block;
  width: 100%;
  background-image: url("../img/top/logo_bg.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center 65%;
}
.subHL1 {
  width: 100%;
}
.subHL1 img {
  width: 100%;
}
.shopPlan .icon {
  display: flex;
  align-items: center;
}
#homeSpecial .special .iconBox .icon-inner:nth-child(6) .logo {
  width: 90%;
}
#homeSpecial .special .iconBox .icon-inner:nth-child(7) .logo {
  width: 50%;
}

#ticket #gourmet table {
  width: 80%;
  border: solid 2px #333;
  margin: 2em auto;
  table-layout: fixed;
}
#ticket #gourmet table caption {
  caption-side: bottom;
}
#ticket #gourmet table tr {
  border: solid 1px #ccc;
  padding: 1em;
}
#ticket #gourmet table tr td {
  padding: .5em 1em;
  margin: .5em 0;
}
#ticket #gourmet table tr td.day {
  background: #FADFC5;
}
#ticket #gourmet table tr td.night {
  background: #C5DFE3;
}
#ticket #gourmet .benefit-list li{
  display: flex;
  align-items: center;
  margin-left: 1em;
  font-weight: 900;
}
#ticket #gourmet .benefit-list img {
  width: 15%;
  margin-right: .5em;
}
#ticket .section-content a[target="_blank"] {
  color: #4F98D4;
}
#ticket .link_color{
  color: #4F98D4;
}
#special .cont_inner  .section_inner h2,
#special .cont_inner  .section_inner .subCont h3 {
  text-align: center;
}

#special .pan_information{
  text-align: center;
}
#special .pan_information .text_large{
  font-weight: bold;
  font-size: 1.2em;
  margin-top: 20px;
}
#special .pan_information .information_button{
  padding: 15px 0;
  color: #fff;
  background-color: #099772;
  border-radius: 20px;
  display: block;
  margin: 0 auto 40px;
  font-size: 1.4em;
  font-weight: bold;
}
#special .cont_inner  .section_inner .subCont ul {
  display: flex;
  justify-content: space-around;
  margin-bottom: 2em;
}
#special .cont_inner  .section_inner .subCont ul::after {
  content: none;
}

#special .cont_inner  .section_inner .subCont ul li { 
  padding: 1em;
  border: 1px solid #333;
  background: #fff;
  box-shadow: 5px 5px #333;
}
#special .cont_inner  .section_inner .subCont ul li { 
  padding: 2em;
  padding-bottom: 1em;
  border: 1px solid #333;
  background: #fff;
  box-shadow: 5px 5px #333;
}
#special .cont_inner  .section_inner .subCont ul li { 
  position: relative;
  text-align: center;
}
#special .cont_inner  .section_inner .subCont ul li .order { 
  position: absolute;
  width: 40px;
  height: 40px;
  padding: .2em;
  text-align: center;
  font-weight: 900;
  font-size: 1.2em;
  color: #fff;
  background: #484974;
  top: 0;
  left: 0;
}
#special .cont_inner  .section_inner .topic .detail{
  text-align: center;
  margin-bottom: 1em;
}
#special .cont_inner  .section_inner .topic .flexBox{ 
  display: flex;
  align-items: center;
  justify-content: space-around;
}
#special .cont_inner  .section_inner .topic .flexBox::after{
  content: none; 
}
#special .cont_inner  .section_inner .topic .flexBox .imgBox{
  width: 45%; 
}
#special .cont_inner  .section_inner .topic .flexBox .caption{ 
  text-align: center;
  margin: .5em auto;
}
#special .cont_inner  .section_inner .topic .item{
  background: #F7F5DE;
  padding: .5em; 
}
#special .cont_inner  .section_inner .topic .item h2{
  margin-bottom: .5em;
  font-size: 1.4em;
  margin-bottom: 0;
  color: #1C39BB;
}
#special .cont_inner  .section_inner .topic .item p.alc{
  margin-bottom: 1em;
}

#special .cont_inner  .section_inner .topic h4{
  font-size: 1.2em;
  margin: 1.5em auto .5em;
  text-align: center;
}
#special .subCont .emphas {
  width: fit-content;
  margin: auto;
  background-color: #A31818;
  color: #fff;
  padding: .5em 1em;
  border-radius: 2em;
}
#special .cont_inner  .section_inner .topic .clRed{
  color: #f00;
  font-size: 1.1em;
}
#special .spList .clm3 li { 
  margin-bottom: 10px;
}
#special .cont_inner  .section_inner .btn_more { 
  position: relative;
  display: block;
  width: 90%;
  margin: 1em auto;
  padding: .8em;
  color: #fff;
  background-color: #A31818;
  text-align: center;
}
#special .cont_inner  .section_inner .btn_more::before {
  content: "";
  width: 10%;
  background: #fff;
  height: 1px;
  position: absolute;
  top: 48%;
  right: 30%;
  margin-left: 0.5em;
}
#special .cont_inner  .section_inner .btn_more::after {
  content: "";
  width: 1%;
  background: #fff;
  height: 1px;
  position: absolute;
  top: 42%;
  right: 30%;
  transform: rotate(35deg);
}
#special #container {
  background-image: url("../img/special/special_bg.jpg");
  background-repeat-x: no-repeat;
  background-size: 100%;
}
#special #container .bgWt{
  background: #fffaf0;
}
#shop_detail .shopInfo .shopPlan .icon span.logo6{
  display: inline-block;
  width: 45%;
}
#shop_detail .shopInfo .shopPlan .icon span.logo7{
  display: inline-block;
  width: 25%;
}
#planSearch .shopList li .list_txt {
  padding: .2em;
}
#planSearch .shopList li .list_img{
  display: flex;
  justify-content: center;
  align-items: center;
}
#planSearch .shopList li .list_img .list_tag{
  width: 50%;
  background-color: transparent;
  border-bottom: none;
  text-align: center;
}
#syoku #searchCont {
  background: #D34C2C;
}
#syoku #searchCont .bgOrange{
  color: #D34C2C;
  background: #fff;
}
#genreSearch #searchCont {
  background: #42602d;
}
#genreSearch #searchCont .bgKhaki {
  color: #42602d;
  background: #fff;
}
#planSearch #searchCont {
  background: #f7c242;
}
#planSearch #searchCont .bgAmber {
  color: #f7c242;
  background: #fff;
}
#chara .event .section_inner {
  margin: 2em auto;
  padding: 1em;
  background: #fff;
  border: solid 10px #69b0ac;  
  border-radius: 2em;
}
#chara .event .section_inner h3{
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'Kosugi Maru', sans-serif;
  font-size: 1.2em;
  text-align: center;
  margin: auto;
  margin-bottom: 1em;
}
#chara .event .section_inner h3 img{
  width: 20%;
}
#chara .event .section_inner:first-of-type h3{
  color: #f08300;
}
#chara .event .section_inner:nth-of-type(2) h3{
  color: #00a1e9;
}
#chara .event .section_inner:nth-of-type(3) h3{
  color: #a60183;
}
#chara .event .section_inner:nth-of-type(4) h3{
  color: #e73263;
}
#chara .event .section_inner .info dl{
  margin-bottom: 1em;
}
#chara .event .section_inner .info dl dt{
  display: flex;
  align-items: center;
  border: solid 2px #333;
  border-radius: 5px;
  background: #69b0ac;
  color: #fff;
}
#chara .event .section_inner .info dl span{
  padding-left: .5em;
}
#chara .event .section_inner .info dl dt img {
  padding: .2em;  
  width: 35px;
  background: #fff;
  border-right: solid 2px #333;
}
#chara .event .section_inner .venue{
  display: flex;
  justify-content: space-around;
  align-items: center;
}
#chara .event .section_inner .venue::after{
  content: none;
}
#chara .event .section_inner .venue li {
  text-align: center;
  width: 45%;
}
#chara .event .section_inner .venue li img {
/*  box-shadow: #333 5px 5px 0px;*/
  width: 100%;
  object-fit: contain;
}
#chara .event .section_inner .topic {
  padding: .2em;
  position: relative;
  text-align: center;
}
#chara .event .section_inner .topic::before,
#chara .event .section_inner .topic::after {
    position: absolute;
    top: 0.8rem;
    height: 5rem;
    content: '';
}
#chara .event .section_inner .topic::before {
    border-left: solid 3px;
    left: 0;
    transform: rotate(-30deg);
}
#chara .event .section_inner .topic::after {
    border-right: solid 3px;
    right: 0;
    transform: rotate(30deg);
}
#chara .character {
  margin: 2em auto 5%;
}
#chara .character .section_inner {
  width: 90%;
  margin: auto;
}
#chara .character .section_inner h1 {
  font-family: 'Kosugi Maru', sans-serif;
  text-align: center;
  margin: 1em;
}
#chara .charamel .section_inner {
  width: 100%;
  text-align: center;
  padding-top: 5%;
  padding-bottom: 5%;
  background: url("../img/special/character/charamel_bg.png");
}
#chara #container {
  background: url("../img/special/character/bg1.png");
  background-repeat-x: no-repeat;
  background-size: 100%;
}
#ticket .section-content .icons {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
}
#ticket .section-content .icons::after {
  content: none;
}
#ticket .purchase .ticket_btn {
  border: 1px solid #ccc;
  padding: 1em;
  width: 30%;
  border-radius: 5px;
}
#chara .charaBox {
  position: relative;
  margin-top: 1em;
  margin-bottom: 1em;
  color: #fff;  
}
#chara .charaBox .pref {
  position: absolute;
  top: 0;
  left: 0;
  width: fit-content;
  padding: 0.2em 1em;
}
#chara .charaBox .name {
  padding-top: 0.2em;
  padding-bottom: 0.2em;
  text-align: center;
}
#chara .charaBox .cregit {
  color: #333;
}
#chara .charaBox .pref,
#chara .charaBox .name {
  background-color: #f08300;
}
#chara .charaBox:nth-child(2n) .pref,
#chara .charaBox:nth-child(2n) .name {
  background-color: #00a1e9;
}
#chara .charaBox:nth-child(3n) .pref,
#chara .charaBox:nth-child(3n) .name {
  background-color: #a60183;
}
#chara .cont_inner  .section_inner .btn_more { 
  position: relative;
  display: block;
  width: 90%;
  margin: 1em auto;
  padding: .8em;
  color: #fff;
  background-color: #A31818;
  text-align: center;
}
#chara .cont_inner  .section_inner .btn_more::before {
  content: "";
  width: 7%;
  background: #fff;
  height: 1px;
  position: absolute;
  top: 48%;
  right: 10%;
  margin-left: 0.5em;
}
#chara .cont_inner  .section_inner .btn_more::after {
  content: "";
  width: 1%;
  background: #fff;
  height: 1px;
  position: absolute;
  top: 41%;
  right: 10%;
  transform: rotate(35deg);
}
.character_appearance_description{
  text-align: center;
}
/*特別企画のテレビ局のアコーディオンメニュー*/
.toggle {
	display: none;
}
.TV_Label {
  padding: 0.8em;
	display: block;
	color: #fff;
	background:#019ac6;
  width: 90%;
  margin: 1em auto;
  text-align: center;
}
.TV_Label::before{
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
.TV_Label,
.TV_content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.TV_content {
	height: 0;
	margin-bottom:10px;
	padding:0 20px;
	overflow: hidden;
}
.toggle:checked + .TV_Label + .TV_content {
	height: auto;
	padding:20px ;
	transition: all .3s;
}
.toggle:checked + .TV_Label::before {
	transform: rotate(-45deg) !important;
}
.TV_content{
  width: 90%;
  margin: 0 auto;
}
.TV_content ul p{
  text-align: center;
}
#specialnight .section_inner .btn_more { 
  position: relative;
  display: block;
  margin: 2em auto;
  padding: .8em;
  color: #fff;
  background-color: #A31818;
  text-align: center;
}
#specialnight .section_inner .btn_more::before {
  content: "";
  width: 10%;
  background: #fff;
  height: 1px;
  position: absolute;
  top: 48%;
  right: 25%;
  margin-left: 0.5em;
}
#specialnight .section_inner .btn_more::after {
  content: "";
  width: 1%;
  background: #fff;
  height: 1px;
  position: absolute;
  top: 42%;
  right: 25%;
  transform: rotate(35deg);
}
.sp_night section{
  margin-bottom: 0!important;
}
.sp_night ul::after{
  content: none!important;
}
.sp_night_main_visual{
  width: 100vw;
  height: 29vw;
  background-image: url(../img/specialnight/main_visual.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
.text_color_black{
color: #333!important;
}
.sp_night_dai_shugou{
  background-image: url(../img/specialnight/bg_brown.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
.minnna_guests_ul_1 li{
  border: 3px solid #fff;
}
.minnna_guests_ul_2 li{
  border: 3px solid #fff;
}
.minnna_guests dl{
  text-align: left;
  display: flex;
}
.minnna_guests dt{
  display: flex;
  margin-right: 20px;
  white-space: nowrap;
}
.minnna_guests dt::before{
  content: "";
  display: block;
  width: 10px;
  height: 20px;
  background-color: #333;
  margin-right: 10px;
}
.minnna_guests dd{
  font-weight: 300;
}
.sp_night_dai_shugou_fes{
  position: relative;
  width: 100%;
  border: 3px solid #fdd23e;
  background-color: #fff;
  border-radius: 20px;
  box-sizing: border-box;
}
.sp_night_dai_shugou_fes h3{
  position: absolute;
  width: 100%;
  background-color: #fdd23e;
  text-align: center;
  border-radius: 17px 17px 0 0;
}
.sp_night_dai_shugou_fes h3 span{
  background-color: #c5373e;
  color: #fff;
  border: 3px solid #333;
  border-radius: 10px;
}
.sp_night_dai_shugou_fes_description{
  color: #c5373e;
}
.sp_night_dai_shugou_fes_list_left dl{
  display: flex;
  align-items: flex-start;
}
.sp_night_dai_shugou_fes_list_left dt{
  font-weight: 600;
}
.sp_night_title_bar h2 {
  font-family: 'RocknRoll One', sans-serif;
}
.minnna_schedule_button{
  position: relative;
}
#matsuri .schdule a::after{
  content: none;
}
#matsuri .matsuri_slider_text{
  padding: 0.6em 0;
  background-color: #d34c2c;;
  color: #fff;
  text-align: center;
}
#specialnight a::after{
  content: none;
}
.schedule_under_small_text{
  font-size: 0.8em;
  text-align: center;
}
.aomori_slider_image{
  background-size:cover;
  position: relative;
}
.bg_gold{
  background: #ba933b!important;
}
/*MAP*/
#map section::after{
  content: none;
}
#map .pdf_downloads a[target="_blank"]::after{
  content: none;
}

#special .haitoku_image_description{
  background-color: #fff0ba;
  color: #cb7519;
}

#special .haitoku_image_description .left{
  font-size: 1.2em;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

#special .haitoku_image_description .left small{
  color: #333;
}

#special .haitoku_image_description .right img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#specialnight .image_list li{
  position: relative;
  padding-bottom: 37px;
}
#specialnight .image_list li p{
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  background-color: #D34C2C;
  color: #fff;
  text-align: center;
  padding: 0.4em 0;
}
#ticket .purchase .red_silver_banner a[target="_blank"]::after{
  content: none;
}
#ticket .purchase .red_silver_banner .message{
  text-align: center;
  color: #333;
}
#map .map_event .inner{
  border: 2px solid #6e0d0d;
  width: 100%;
  height: 100%;
}
#map .work_shop_anchor{
  display: block;
  width: 100%;
  height: 100%;
}
#map .work_shop_anchor::after{
  content: none;
}
#map .work_shop_button{
  margin-top: 10px;
  position: relative;
  width: 100%;
  background-color: #fff;
  color: #a31818;
  border: 3px solid #a31818;
  font-weight: bold;
  text-align: center;
}
#map .workshop_PDF_icon img{
  object-fit: contain!important;
}
.LINE_VOOM a[target="_blank"]{
  color: #4F98D4;
}
.LINE_VOOM .green_area{
  background-color: #6aba52;
  border-radius: 20px 20px 0 0;
}
.LINE_VOOM .green_area.top{
  background-color: #6aba52;
  border-radius: 20px;
}
.LINE_VOOM .LINE_VOOM_button{
  display: block;
  background-color: #fff;
  border-radius: 20px;
  font-weight: bold;
  text-align: center;
  color: #3f8b29;
}
.LINE_VOOM .green_area h2{
  color: #fff;
}
.LINE_VOOM .green_area .description{
  color: #fff;
  text-align: center;
}
.LINE_VOOM .green_area .description span{
  font-size: 0.9em;
}
.LINE_VOOM .white_area{
  background-color: #fff;
  border-radius: 0 0 20px 20px;
}
.LINE_VOOM .description_image .description dl{
  display: flex;
}
.LINE_VOOM .description_image .description .accordion{
  display: block!important;
}
.LINE_VOOM .description_image .description .accordion_parent{
  width: 100%;
  background-color: #6aba52;
  color: #fff;
  position: relative;
}
.LINE_VOOM .description_image .description .accordion_child{
  display: none;
}
.LINE_VOOM .description_image .description .accordion_child ul{
  list-style: disc;
}
.LINE_VOOM .description_image .images p{
  text-align: center;
}
#outdoor .sp_night_slider2{
  width: 100%;
}
#map .map_event .events ul li p{
  position: relative;
}
#map .second_floor_events .ecbo_cloak{
  background-color: #384c7e;
  color: #fff;
  text-align: center;
  border-radius: 20px;
}
#map .second_floor_events .ecbo_cloak h3::after{
  content: "";
  display: block;
  background-color: #fff;
  height: 2px;
  width: 80%;
  margin: 10px auto;
}
#map .second_floor_events .ecbo_cloak_image{
  width: 80%;
  border-radius: 10px;
  margin-bottom: 10px;
}
#map .second_floor_events .ecbo_cloak_button{
  color: #fff;
  border: 2px solid #fff;
  border-radius: 10px;
  width: 100%;
  display: block;
  margin-top: 10px;
}
#map .second_floor_events a[target="_blank"]::after {
  content: none;
}
#home .footer_en{
  background-color: #201e21;
}
#home .footer_en a[target="_blank"]::after{
  content: none;
}
#home .footer_en .en_copyright{
  color: #fff;
}
.footer_en .contact_button{
  position: fixed;
  right: 0;
  display: block;
  background-color: #ad7c31;
  color: #fff;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: unset;
  border: 5px double #fff;
  transition: 0.5s;
}
.footer_en .contact_button:hover{
  background-color: #fff;
  border: 5px double #ad7c31;
  color: #ad7c31;
}
#home #homeMatsuri .movie iframe{
  width: 100%;
  aspect-ratio: 16/9;
}
#home #homeMatsuri .movie .title_movie .title{
  text-align: center;
}
#home #homeMatsuri .address{
  background-color: #fff;
  width: 100%;
}
#home #homeMatsuri .address .address_text{
  display: flex;
  align-items: center;
}
#home #homeMatsuri .address .flex_text{
  display: flex;
  align-items: center;
  column-gap: 10px;
}
#home .ticket_area{
  background-image: url(../img/en/bg_black.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  padding: 60px 0;
}
#home .ticket_area .button{
  position: relative;
  display: block;
  color: #fff;
  background-color: rgb(219, 69, 23);
  text-align: center;
}
#home .ticket_area .button::after{
 position: absolute;
 top: 50%;
 right: 20px;
 transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  margin: 0 10px;
  border-top: 4px solid #fff;
  border-right: 4px solid #fff;
  transform: rotate(45deg);
}
#home .ticket_area a[target="_blank"]::after{
  content: none;
}
#ticket .attention_mark{
  display: block;
  margin: 0 0 0 auto;
  width: fit-content;
}
#home .questionnaire{
  background-color: #fff;
  border-radius: 20px;
  width: fit-content;
  height: fit-content;
}
#home .questionnaire h3{
  background-color: rgb(221, 0, 0);
  color: #fff;
  text-align: center;
}
#home .questionnaire p{
  text-align: center;
}
#home .questionnaire a[target="_blank"]::after{
  content: none;
}
#home .questionnaire_button{
  width: fit-content;
  display: block;
  background-color: rgb(211, 74, 32);
  color: #fff;
  border-radius: 20px;
}
#result .main_visual{
  display: block;
  background-size: cover;
  background-repeat: no-repeat;
  width: 100vw;
  margin-bottom: 0;
}
#result .don_results{
  background-image: url(../img/special/result/bg_image.jpg);
  margin-bottom: 0;
  padding: 40px 0;
}
#result .description{
  text-align: center;
  color: #333;
  font-weight: 600;
}
#result .don_list{
  width: fit-content;
}
#result .don_list li{
  width: fit-content;
}
#result .don_list a{
  display: block;
  width: fit-content;
  height: fit-content;
}
#result .awards_ceremony_ul li img{
  width: 100%;
  object-fit: cover;
  aspect-ratio: 3/2;
}
#result .award_button{
  display: block;
  width: fit-content;
  height: fit-content;
}