@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

.fontMin{  
  font-family: "Noto Serif JP", serif;
}

/*アンカーリンク調整用*/
:root{  
 scroll-padding-top: 80px
}
@media (max-width: 820px) {
  :root{  
   scroll-padding-top: 65px
  }
}/*-SP tablet-*/

/*作業用*/
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
@media (min-width: 821px) {
.sp { display: none !important; }
}
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media (max-width: 820px) {
.pc { display: none !important; }
}

#Content_feature{
 background: #fff;
  position: relative;
  margin-bottom: 0;
  /*font-family: "Noto Sans JP", sans-serif;*/
		font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
 font-weight: 500;
}


#Content_feature .inner{
  margin: 0 auto;
  max-width: 870px;
}
@media (max-width: 820px) {
	#Content_feature .inner{
    max-width: calc(100vw*304/375);
 		margin: auto;
	}
}/*-SP tablet-*/
@media (max-width: 390px) {
	#Content_feature .inner{
	}
}/*-SP-*/
.flex{
	display: flex;
	flex-wrap: wrap;
}
@media screen and (min-width: 821px){
.pcFlex{
	display: flex;
	flex-wrap: wrap;
}
}/*-PC only-*/

@media (max-width: 820px) {

}/*-SP tablet-*/

/*article_inner*/



/*		common
-----------------------------*/
.content_box{
	margin: 70px auto 0;
	max-width: 929px;
 font-weight: 700;
 letter-spacing: 0.05em;
}
.content_box h2{
 background: url("images/title_bg.svg") no-repeat left top/100% auto;
 width: 306px;
 height: 54px;
 padding: 12px 0 0 65px;
 margin: 0 0 0 86px;
 color: #fff;
 font-size: 32px;
 text-align: left;
 line-height: 1.2;
}
.box_inner{
 border-radius: 37px;
 background: #83c3ef;
 padding: 30px 8.2%;
}

@media (max-width: 820px) {
  .content_box{
   margin-top: 40px;
    margin-inline: 2%;
  }
.content_box h2{
 width: 250px;
 height: 46px;
 padding: 8px 0 0 40px;
 margin: 0 0 0 20px;
 font-size: 24px;
}
.box_inner{
 border-radius: 20px;
 padding: 30px 5%;
}
}/*-SP tablet-*/
@media screen and (min-width: 821px) {
}/* //end for PC */

/**/
.liststyle01{
 border-top: 1px #fff solid;
 display: flex;
 flex-flow: row wrap;
 align-items: center;
}
.liststyle01 dt{
 background: #543532;
 border-radius: 3px;
 width: 87px;
 padding: 0 8px;
 line-height: 25px;
 color: #fff;
 font-size: 17px;
 font-weight: 700;
  text-align: justify;
  text-align-last: justify;
}
.liststyle01 dd{
 position: relative;
 width: calc(100% - 87px);
 padding: 10px 20px;
 color: #543532;
 font-size: 20px;
 line-height: 1.3;
}
.liststyle01 dd::after{
 content: "";
 display: block;
 background: #fff;
 width: calc(100% + 87px);
 height: 1px;
 position: absolute;
 right: 0;
 bottom: 0;
}
@media (max-width: 480px) {
.liststyle01{
}
.liststyle01 dt{
 width: 87px;
 padding: 0 8px;
 line-height: 2;
 font-size:min(3.6vw,17px);
}
.liststyle01 dd{
 width: calc(100% - 87px);
 padding: 10px 15px;
 font-size: min(3.9vw,20px);
}
}/*-SP tablet-*/
/**/

.caution{
 margin: 40px 0 10px;
 font-size: 14px;
 text-align: left;
 line-height: 1.2;
}
.caution_list li{
 margin-bottom: 5px;
 text-indent: -1em;
 padding-left: 1em;
 font-size: 14px;
 font-weight: 500;
 line-height: 1.4;
 text-align: left;
}
.caution_list li span{
 font-size: 17px;
 font-weight: 700;
}
@media (max-width: 820px) {
.caution{
 font-size: 13px;
}
.caution_list li{
 font-size: 13px;
}
.caution_list li span{
 font-size: 16px;
}
  
}/*-SP tablet-*/
/**/


.txtCenter {
  text-align: center;
}

@media (max-width: 820px) {
  
}/*-SP tablet-*/
@media screen and (min-width: 821px) {

}/* //end for PC */


/*		mainvisual
-----------------------------*/
#mainvisual{
}
#mainvisual h2{
position: relative;
margin: 0;
}

@media (max-width: 820px) {
#mainvisual{
}
 #Content_feature #mainvisual .article_inner{
	}

}/*-SP tablet-*/

@media screen and (min-width: 821px) {
  
}/* //end for PC */


/*		anchorLink
-----------------------------*/
.anchorLink{
  background-color: #543532;
  padding: 16px 0 14px;
}
.anchorLink ul{  
  display: flex;
  justify-content: center;
 gap:0 21px;
}
.anchorLink li{
}
.anchorLink li a{
 display: grid;
 align-items: center;
 background: url("images/nav_bg.svg") no-repeat left top/100% 100%;
 width: 164px;
 height: 50px;
 color: #fff;
 font-size: 20px;
 font-weight: 500;
 text-align: center;
}


@media (max-width: 820px) {
.anchorLink{
 padding-inline:10px;
}
 .anchorLink ul{
  gap:10px 5px;
  flex-flow: row wrap;
 }
 .anchorLink ul li{
  width: calc((100% - 5px*2)/3);
  max-width: 120px;
 }
 .anchorLink li a{
  width: auto;
  height: auto;
 aspect-ratio:300/91;
  font-size: min(4.0vw,17px);
 }
}/*-SP only-*/


/*		news
-----------------------------*/
.news_box{
 max-width: 929px;
 margin: 55px auto 0;
}
@media (max-width: 820px) {
  .news_box{
    margin-inline: 2%;
  }
}/*-SP tablet-*/

#news h2{
 margin: 0 0 10px;
 color: #543532;
 font-size: 32px;
 text-align: center;
 line-height: 1.2;
}
#news ul{
 border-block:4px #82c3ef solid;
}
#news ul li{
 display: flex;
 gap:0 40px;
 padding: 10px 8px 6px;
 font-weight: 700;
 line-height: 1.3;
}
#news ul li+ li{
 border-top: 1px #000 solid;
}
#news ul li .date{
 font-size: 23px;
}
#news ul li p{
 font-size: 20px;
}

@media (max-width: 820px) {
#news h2{
 margin: 0 0 10px;
 font-size: 28px;
}
#news ul{
}
#news ul li{
 display: flex;
 gap:0 20px;
 padding: 10px 5px 6px;
}
#news ul li .date{
 flex: 1 0 auto;
 font-size: min(4vw,23px);
}
#news ul li p{
 font-size: min(3.8vw,20px);
}

 
 
}/*-SP only-*/
@media screen and (min-width: 821px) {
}/* //end for PC */


/*		overview
-----------------------------*/
#overview dl dd:last-of-type::after{
 display: none;
}
@media (max-width: 820px) {}/*-SP only-*/
@media screen and (min-width: 821px) {}/* //end for PC */


/*	 ticket
-----------------------------*/
#ticket a{
 color: #000 !important;
 text-decoration: underline;
}

/*	highlights
-----------------------------*/
#highlights .box_inner{
 text-align: center;
}
#highlights .box_inner >.lead{
 padding-inline: 8.2%;
 color: #fff;
 font-size: 18px;
 font-weight: 700;
 line-height: 2;
}
#highlights .lead span{
 color: #ffea00;
 font-size: 22px;
 line-height: 1.68;
}
#highlights h3{
 margin: 50px 0 5px;
 color: #543532;
 font-size: 24px;
 text-align: center;
 letter-spacing: 0.2em;
}
#highlights .box_inner >.txtCenter{
 font-size: 16px;
 font-weight: 500;
 text-align: center;
}
#highlights .map{
 margin: 15px 0 0;
}
#highlights h4{
 position: relative;
 display: inline-block;
 background: #543532;
 border-radius: 3px;
 min-width: 321px;
 padding: 0 24px;
 margin: 60px auto 18px;
 color: #fff;
 font-size: 17px;
 line-height: 20px;
 text-align: center;
 letter-spacing: 0.1em;
 z-index: 0;
}
#highlights h4 span{
 border-radius: 50%;
 background: #543532;
 width: 33px;
 height: 33px;
 padding: 5px 0 0 1px;
 margin: auto;
 color: #fff;
 font-size: 19px;
 line-height: 1;
 text-align: center;
 position: absolute;
 bottom: calc(100% - 8px);
 left: 0;right: 0;
 z-index: -1;
}

#highlights .box_inner >p{
 padding-inline: 8.2%;
 font-size: 16px;
 font-weight: 500;
 line-height: 2;
 text-align: left;
}
#highlights p span{
 font-size: 22px;
 font-weight: 700;
 line-height: 1.68;
}
.red{
 color:#ff005e ;
}
.yellow{
 color: #ffea00;
}
.purple{
 color: #952ecc;
}

#highlights .box_inner >.note{
 margin-top: 2em;
 font-size: 14px;
 font-weight: 500;
 line-height: 1.4;
}

.library{
 margin: 18px 0 5px ;
 color: #fff;
 font-size: 16px;
 text-align: center;
}
.library_list{
 display: flex;
 border-top: 1.5px #fff dotted;
 margin: 0 8.2%;
 color: #543532;
 font-size: 16px;
}
.library_list + .library_list{
 border-top: none;
}
.library_list dt{
 border-bottom: 1.5px #fff dotted;
 display: flex;
 align-items: center;
 width: calc(100% - 160px);
}
.library_list dd{
 border-bottom: 1.5px #fff dotted;
 width: 160px;
 text-align: right;
 padding: 5px 12px 5px 0;
}
.library_list dd p{
 border-top: 1.5px #fff dotted;
 margin: 5px -12px 0 0;
 padding: 5px 12px 0 0;
}

.imgs{
 display: flex;
 justify-content: space-between;
 flex-flow: row wrap;
 padding: 20px 8.2% 0;
}
.imgs li{
 width: 20.5%;
 max-width: 133px;
}
.mT0{
 margin-top: 0 !important;
}
#highlights .caution,
#highlights .caution_list{
 margin-inline: 8.2%;
}

@media (max-width: 820px) { 
#highlights .box_inner >.lead{
 padding-inline: 4%;
 font-size: 15px;
}
#highlights .lead span{
 font-size: 18px;
}
#highlights h3{
 margin: 40px 0 5px;
 font-size: 20px;
}

#highlights .box_inner >p{
 padding-inline: 4%;
 font-size: 15px;
 line-height: 1.8;
}
#highlights p span{
 font-size: 18px;
}

#highlights .box_inner >.note{
 font-size: 13px;
}

.library{
 margin: 20px 0 5px ;
}
.library_list{
 display: block;
 margin: 0 3%;
 font-size: 16px;
}
.library_list + .library_list{
 border-top: none;
}
.library_list dt{
 border-bottom: none;
 display: flex;
 align-items: center;
 width: auto;
 text-align: left;
 padding-left: 5px;
}
.library_list dd{
 width: auto;
 text-align:left;
 padding: 5px 0px 5px 5px;
  /*font-size: min(4.1vw,16px);*/
}
 .library_list dd:has(p){
 display: flex;
  align-items: center;
  gap:0 14px;
  letter-spacing: 0;
 }
.library_list dd p{
 border-top: none;
 margin:0;
 padding: 0px 0 0;
  letter-spacing: 0;
 /* font-size: min(4.1vw,16px);*/
}

.imgs{
 padding: 20px 4% 0;
 gap:20px 0;
}
.imgs li{
 width: 47%;
 max-width: none;
}

#highlights .caution,
#highlights .caution_list{
 margin-inline: 4%;
}
 
}/*-SP only-*/
@media screen and (min-width: 821px) {
}/* //end for PC */

/*	talkshow
-----------------------------*/
#talkshow h2{
 padding-left: 40px;
}
#talkshow p{
 font-size: 16px;
 font-weight: 500;
}
#talkshow .lead{
 margin-bottom: 20px;
 color: #fff;
 font-size: 18px;
 font-weight: 700;
 line-height: 1.9;
}
#talkshow h3 span{
 display: inline-block; 
	border-radius: calc(infinity * 1px);
 background: #d68491;
 min-width: 315px;
 padding:0 4px 0 12px;
 color: #fff;
 font-size: 20px;
 line-height: 39px;
}
#talkshow .liststyle01{
 margin-bottom: 70px;
}
#talkshow .liststyle01 dt{
 width: 140px;
 padding: 0;
 font-size: 13px;
 text-align: center;
 text-align-last: center;
}
#talkshow .liststyle01 dt span{
 font-size: 20px;
}
#talkshow .liststyle01 dd{
 position: relative;
 width:calc(100% - 140px);
 font-size: 20px;
}
#talkshow .liststyle01 dd span{
 font-size: 15px;
}
#talkshow .liststyle01 dd::after{
 width: calc(100% + 140px);
}
#talkshow .liststyle01 dd img{
 width: 52px;
 position: absolute;
 right: 0;
 top: 0;
 bottom: 0;
 margin: auto;
}

.titles{
 display: flex;
 flex-flow: row wrap;
 max-width: 649px;
 gap:24px 0;
 margin: 30px auto 0px;
}
.titles dt{
 display: flex;
 align-items: center;
 border-radius: 6px 0 0 6px;
 background: #d68491;
 width: 185px;
 min-height: 73px;
 padding: 5px 17px;
 color: #fff;
 font-size: 27px;
  font-family: "Noto Serif JP", serif;
}
.titles dd{
 display: flex;
 align-items: center;
 border-radius: 0 6px 6px 0;
 background: #fff;
 width: calc(100% - 185px);
 min-height: 73px;
 padding: 2px 12px;
 font-size: 16px;
 line-height: 1.6;
}
#talkshow .caution,#talkshow .caution_list{
 max-width: 649px;
 margin-inline: auto;
}

@media (max-width: 820px) {
 #talkshow h2{
 padding-left: 30px;
}
#talkshow p{
 font-size: 15px;
}
#talkshow .lead{
 margin-bottom: 15px;
 font-size: 16px;
}
#talkshow h3 span{
 padding:0 4px 0 12px;
 font-size: 18px;
 line-height: 36px;
}
#talkshow .liststyle01{
 margin-bottom: 50px;
}
#talkshow .liststyle01 dt{
 width: 135px;
 padding: 0;
 font-size: 13px;
 text-align: center;
 text-align-last: center;
}
#talkshow .liststyle01 dt span{
 font-size: min(3.9vw,20px);
}
#talkshow .liststyle01 dd{
 width:calc(100% - 135px);
 font-size: min(4vw,20px);
}
 #talkshow .liststyle01 dd:has(img){
 padding-right: 50px;
 }
#talkshow .liststyle01 dd span{
 font-size: min(3.2vw,15px);
}
#talkshow .liststyle01 dd::after{
 width: calc(100% + 135px);
}
#talkshow .liststyle01 dd img{
 width: 46px;
}

.titles{
 gap:20px 0;
}
.titles dt{
 width: 7em;
 min-height: 73px;
 padding: 5px 5px 5px 10px;
 font-size: min(4.8vw,27px);
}
.titles dd{
 width: calc(100% - min(4.8vw,27px)*7);
 min-height: 73px;
 padding: 5px 10px;
 font-size: min(3.4vw,16px);
}

}/*-SP only-*/
@media screen and (min-width: 821px) {
}/* //end for PC */

/*	goods
-----------------------------*/
#goods.content_box{
 border-bottom: 92px #543532 solid;
 max-width: none;
}
#goods.content_box .ttlwrap{
 max-width: 929px;
 margin: 0 auto;
}
#goods .box_inner{
 border-radius: 0;
 padding: 40px 0 45px;
}
.goods_list{
 display: flex;
 flex-flow: row wrap;
 gap:40px 20px;
 max-width: 929px;
 margin: 0 auto;
}
.goods_list li{
 width: calc((100% - 20px*3)/4);
}
.goods_list li figure{
 background: #fff;
 margin: 0 0 10px;
 aspect-ratio:1/1;
 padding: 14px;
}
.goods_list li figure img{
 object-fit: contain;
 width: 100%;
 height: 100%;
}
.goods_list li p{
 color: #543532;
 font-size: 15px;
 line-height: 1.2;
}
.goods_list li .price{
 text-align: right;
 font-size: 14px;
 font-weight: 500;
}

.goods_inner{
 max-width: 650px;
 margin: 0 auto;
}

@media (max-width: 820px) {
#goods.content_box{
 border-bottom: 40px #543532 solid;
 margin-inline: 0;
}
#goods.content_box .ttlwrap{
 margin-inline: 2%;
}
#goods .box_inner{
 border-radius: 0;
 padding: 40px 5% 45px;
}
.goods_list{
 gap:20px 20px;
}
.goods_list li{
 width: calc((100% - 20px)/2);
}
}/*-SP only-*/


@media screen and (min-width: 821px) {
}/* //end for PC */



@media (max-width: 820px) {}/*-SP only-*/
@media screen and (min-width: 821px) {
}/* //end for PC */