@charset "UTF-8";
/* CSS Document */
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
html *,
::before,
::after {
  box-sizing: border-box;
}
html {
  font-size: 14px;
}
@media (min-width: 600px) {
html {
    font-size: 16px;
  }
}

* {
  margin: 0;
}
html, body {
  height: 100%;
}
body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}
input, button, textarea, select {
  font: inherit;
}
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}
#root, #__next {
  isolation: isolate;
}

/**
 * ***************************************
 * ページ全体に関わるCSSの設定
 * ***************************************
 */
/*font*/
body {
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
	background:#fff;
	letter-spacing:0.05em;
	color:#333;
}

h1, h2, h3, h4, h5, h6, th, strong {
  font-weight: 700;
}

a {
  color: #3063C0;
}
/* レスポンシブイメージと画像下スペース防止 */
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;/* 画像下のスペースを消す */
}
.list-simple{
margin-top: 20px;
}
.list li {
padding-right: 0px;
margin-bottom: 0.2rem;
  line-height: 1.5;
}
@media (min-width: 600px) {
.list li {
padding-right: 40px;
}
}
dl{
padding-left: 40px; /* ulのデフォルトに合わせる */
}

/**
 * ***************************************
 * ヘッダー
 * ***************************************
 *
 * ヘッダーコンテナ
 */
.page-header {
  background-color: #00226F;
  border-bottom: 1px solid #d8d8d8;
}
@media (min-width: 600px) {
  .header-container {
    margin: 0 auto;
    padding: 0 20px;
    max-width: 1040px;
  }
}

/**
 * ---------------------------------------
 * ヘッダーモジュール
 */

/* ヘッダーロゴとモバイルナビボタン */
  .sitetitle {
  background-color: #00226F;
	overflow-x: auto;
  }

/* ヘッダーロゴ */
.header-logo {
background-color: #00226F;
  margin: 0 auto;
  padding: 20px 0 10px 15px;
  text-align: center;
  font-size: 24px;
}
.header-logo a{
  color: #fff;
  text-decoration: none;
}
@media (min-width: 600px) {
  .header-logo {
  text-align: left;
  }
}

.header-nav {
background-color: #E5E5E5;
overflow-x: auto;
display: flex;
width: max-content;
margin: 0 auto;
list-style-type: none;
}

.header-nav li a {
height: 30px;
padding: 6px 20px 2px 20px;
display: flex;
align-items: center;
justify-content: center;
color: #2D3132;
text-decoration: none;
border-top: none;
border-bottom: 4px solid transparent;
background: none;
}
  .header-nav li a:hover {
    border-bottom: 4px solid #178FDE;
    background: none;
  }
.header-nav .collapse{
display: none;
}
@media (min-width: 600px) {
.header-nav {
background-color: #00226F;
margin-right: 0;
padding: 0px;
}
.header-nav li a {
color: #FFF;
}
}
.current {
  border-bottom: 4px solid #178FDE;
  background: none;
}

/**
 * ***************************************
 * パンくずリスト
 * ***************************************
 *
 * パンくずリストコンテナ
 */
/* .breadcrumb {
  display: none;/* モバイルで非表示 
}
@media (min-width: 600px) {
  /* PCだけスタイル適用 */
  .breadcrumb {
    display: block;/* display:noneの解除 */
    background: #F6F6F6;
  }
  .bc-container {
    margin: 0 auto;
    padding: 12px 20px;
    max-width: 1040px;
  }
  /**
   * ---------------------------------------
   * パンくずリストモジュール
   */
  .bc-nav {
    display: flex;
    flex-direction: row;
    margin: 0;
    padding-left: 15px;
    list-style: none;
  }
  .bc-nav li {
    font-size: .75rem;
    color:  #747474;
  }
  .bc-nav li::after {
    padding: 0 10px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f054";
  }
  .bc-nav li:last-child::after {
    content: "";
  }
    .bc-nav li:last-child {
    font-weight: 700;
  }
  .bc-nav li a {
    color:  #747474;
  }
  .bc-nav li a:hover {
    opacity: .8;
  }



/**
 * ***************************************
 * メインコンテナ
 * ***************************************
 */
.main-container {
  padding: 40px 0;
}
@media (min-width: 600px) {
  .main-container {
    max-width: 1040px;
    margin: 0 auto;
    padding: 40px 20px 0 20px;
  }
}

/**
 * ---------------------------------------
 * ポストヘッダー--
 */
  .main-header{
  margin: 0 10px 30px;
 }
.main-header h1.top{
  margin: 0 0 20px 0; /* h1のデフォルト設定オフ */
  font-size: 1.5rem;/* 24px */
  line-height: 1.5;
  background: #DFF1FA;
  border-top: solid 3px #435E9A;
  padding: 0.25em 1em;
}
.main-header h1{
  margin: 0 0 20px 0;
  font-size: 1.25rem;/* 20px */
  line-height: 1.5;
  border-bottom: solid 3px #435E9A;
  padding: 0.25em 1em;
}
@media (min-width: 600px) {
.main-header{
  margin: 0px 0px 30px;
 }
}
/* タグ */
.post-tag {
  margin-bottom: 5px;
  font-size: .75rem;
  line-height: 2;
}
.post-tag span {
  margin: 0 3px 0 0;
  padding: 2px 10px;
  color: #fff;
  background: #73cbd6;
  border-radius: 100px;
}
.post-tag span a {
  color: #fff;
  text-decoration: none;
}
/* テキストの先頭にアイコン */
.post-info {
  margin-bottom: 3px;
  padding-bottom: 15px;
  font-size: .75rem;
  text-align: right;
}
.post-info span {
  margin: 0 10px 0 0;
}
.post-info i {
  padding-right: 5px;
  color: #73cbd6;
}
/* 年tagボタン */
.tag-year {
display: flex;
flex-wrap: wrap;
margin: 0 -8px -8px;
margin-top: 20px;
}
@media (min-width: 600px) {
.tag-year {
    max-width: 786px;
  }
}
.tag-year .year-item {
min-width: 64px;
margin: 0 4px 8px;
text-decoration: none;
color: inherit;
background-color: #F6F6F6;
border: 1px solid #95989A;
padding: 4px 12px;
font-size: .75rem;
font-weight: bold;
text-align: center;
}
/* 年selectボタン */

.setlist-select {
margin-top: 10px;
    padding: 4px 12px;
    border: none;
	display: inline-block;
	}
.setlist-select {
    background-color: #9A7260;
    color: #ffffff;
	}

/* ページタイトルとページ送りを含むコンテナ */
.page-navigation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;	/* 14px */
  color: #333;
  margin: 10px;
}

/* ページ送りリンク */
.page-link {
  color: #3063C0;
  font-size: 0.75rem;	/* 14px */
  text-decoration: none;
  padding: 2px 8px;
  border: 1px solid #3063C0;
  border-radius: 5px;
}

/* ページ送りリンク ホバー時 */
.page-link:hover {
  background-color: #3063C0;
  color: #fff;
}
@media (min-width: 600px) {
.page-navigation {
    max-width: 786px;
  }
}
/**
 * ---------------------------------------
 * ポストコンテンツ
 */
.post-contents {
  margin: 0 10px 40px 0;
}
@media (min-width: 600px) {
  .post-contents {
    max-width: 1040px;
    margin: 0 auto 40px;
  }
}
/* post-contentsの1つ目の要素の上マージンを0にする */
.post-contents > *:first-child {
  margin-top: 0;
}
.head-lv2{
/* 右にパーツ追加する場合
display: flex;
justify-content: space-between; 
align-items: center; */
  margin: 20px 0 0 10px;
  padding: .25rem .25rem .25rem 1rem ;
  border: solid #435E9A;
  border-width: 0px 0px 1px 8px;
}
/* h2 */
.head-lv2--title {
  font-size: 1.25rem;	/* 18px */
}
@media (min-width: 600px) {
.head-lv2 {
max-width: 800px;
  }
}
/* h3 */
.post-contents h3 {
  margin: 20px 0 0 10px;
  font-size: 1.25rem;	/* 20px */
  line-height: 1.5;
}
.post-contents h3:first-child {
  margin-top: 0;
}
/* p */
.post-contents p {
  margin: 30px 0  0;
  padding-left: 20px;
  line-height: 1.5;
  text-align: justify;
}

/*概要*/
.detail{
margin-top: 20px;
padding-left: 20px; 
}
dl.detail dt{
  float: left;
}

dl.detail dd{
  margin-left: 5em;
}
/* 複数の画像を並べる */
.flex-img {
  display: flex;
  flex-direction: row;
  /* margin-bottom: 30px;*/
}
.flex-img  div {
  max-width: 120px;
  margin: 20px 40px 0;
}
 /* ---------------------------------------
 * ツアー一覧
 */
 /* 連番 */
.news_list ol {
  counter-reset: number 0;
  list-style-type: none;
  /* list-style-typeをnoneに設定 */
}
.news_list ol li.skipNumber:before {
  content: "";
  /* スキップする番号の前には何も表示しない */
}
.news_list ol li:not(.skipNumber):before {
  content: counter(number, decimal-leading-zero) ". ";
  counter-increment: number;
  /* counter()関数の第2引数に"decimal-leading-zero"を指定 */
}
.news_list .skipNumber{
margin-left: 1.8em;
}
.news_list {
margin-top: 40px ;
border-top: 1px dashed #999;
}
.news_list li {
padding: 4px 0;
border-bottom: 1px dashed #999;
}
.news_date {
display: inline-block;	/*width指定のため */
width: 9em;	/*祝でもはみださない */
font-size: 0.875em;
margin-right: 10px;
}
.list-with {
display: inline-block;
color: #fff;
font-size: 0.875em;
text-align: center;
margin-right: 10px;
padding: 2px 10px;
background-color: #3063C0;
}
.list-without {
display: inline-block;
color: #999;
font-size: 0.875em;
text-align: center;
margin-right: 10px;
padding: 2px 10px;
background-color: #fff;
}
.news_text {
display: inline-block;
font-size: 0.75rem;
}
@media screen and (min-width: 600px) {
.news_list {
width: 100%;
max-width:1040px;
}
.news_text {
font-size: 1rem;
}
}
/* ---------------------------------------
 * 都道府県別
 */
/* 連番 */
.pref-list ol {
  counter-reset: number 0;
  list-style-type: none;
   /* list-style-typeをnoneに設定 */
}
.pref-list ol li.skipNumber:before {
  content: "";
  /* スキップする番号の前には何も表示しない */
}
.pref-list ol li:not(.skipNumber):before {
  content: '0' counter(number, decimal-leading-zero) ". ";
  counter-increment: number;
  color: #9A7260;
  /* counter()関数の第2引数に"decimal-leading-zero"を指定 */
}
.pref-list ol li:nth-child(n+101):before {
  content: counter(number) ". ";
  /* 99を超えたときに0をとる */
}
.pref-list ol li.skipNumber:nth-child(n+101):before {
  content: "";
  /* 99を超えてスキップする番号の前には何も表示しない */
}
.pref-list .skipNumber {
  padding-left: 2.4em;
}
/* 会館別 */
.hall-list{
margin-top: 20px;
padding-bottom: 20px;

border-bottom: 1px solid #999;
}

/* accordion */
.accordion{ display: none; }

.nav-open{
position: relative;
}
.nav-open::before{/* 閉じている時 */
	content: "＋";
	position: absolute;
	right: 20px;
}
.nav-open.active::before{/* 開いている時 */
	content: "－";
}
/* table */
.ranking table {
  font-size: 0.875em;
  border: 1px solid #ccc;
  border-collapse: collapse;
  margin: 0;
  padding-left: 0;
  table-layout: auto;
}
.ranking table thead {
  background: #f8f8f8;
}
.ranking table tr {
  border: 1px solid #ddd;
  padding: .35em;
}
.ranking table th,
.ranking table td {
  padding: .625em;
  text-align: left;
}
.ranking table td.nobr {
  white-space:nowrap;
}
.ranking {
  padding-left: 30px;
}
@media screen and (min-width: 600px) {
.ranking table{
font-size: 1em;
max-width: 1040px;
}
}
 /* ---------------------------------------
 * セットリスト
 */
/* 連番 */
.ordered-list ol {
  counter-reset: number 0;
  list-style-type: none;
  /* list-style-typeをnoneに設定 */
}
.ordered-list ol li.skipNumber:before {
  content: "";
  /* スキップする番号の前には何も表示しない */
}
.ordered-list ol li:not(.skipNumber):before {
  content: counter(number, decimal-leading-zero) ". ";
  counter-increment: number;
  /* counter()関数の第2引数に"decimal-leading-zero"を指定 */
}
.ordered-list .skipNumber{
padding-left: 1.8em;
}
.ordered-list p {
  margin: 10px 0  0 -1em;
  line-height: 1.5;
  text-align: justify;
}

/* 連番3桁 */
.list-add ol {
  counter-reset: number 0;
  list-style-type: none;
  /* list-style-typeをnoneに設定 */
}
.list-add ol li.skipNumber:before {
  content: "";
  /* スキップする番号の前には何も表示しない */
}
.list-add ol li:not(.skipNumber):before {
  content: '0' counter(number, decimal-leading-zero) ". ";
  counter-increment: number;
  /* counter()関数の第2引数に"decimal-leading-zero"を指定 */
}
.list-add ol li:nth-child(n+101):before {
  content: counter(number) ". ";
  /* 100を超えたときに0をとる */
}

.orderedList-add .skipNumber{
padding-left: 1.8em;
}
.list-add p {
  margin: 10px 0  0 -1em;
  line-height: 1.5;
  text-align: justify;
}
 /* ---------------------------------------
 * 年開催リスト
 */
/*  */
.countnum_all {
  text-align: center;
  color: #9A7260;
  font-weight: 700;
}
.set_year {
display: none;
}
@media screen and (min-width: 600px) {
.set_year{
display: inline;
font-size: 0.875rem;
}
}
/**
 * ***************************************
 * フッター
 * ***************************************
 *
 * フッターコンテナ
 */
.page-footer {
  background: #F6F6F6;
  padding: 30px;
  border-bottom: solid #00226F;
}
 .footer-cont {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
  }
  .cont-item {
    display: block;
    width: 100%;
  }
  .cont-item:nth-child(n+3) {
    margin-bottom: 30px;
  }
.footer-nav a {
  display: block;
  color: #333;
}
.footer-nav ul {
    margin: 0;
    font-size: 10px;
  }
.footer-nav ul + .ttl {
    margin-top: 10px;
  }
.footer-nav .ttl {
  display: block;
  margin: 30px 0 6px;
  font-size: 12px;
  font-weight: bold;
  color: #333;
}
.footer-nav .ttl + .ttl {
  margin-top: 10px;
}
 
.footer-nav li {
  display: block;
  font-size: 10px;
  line-height: 2;
}
.footer-nav li li:before {
  position: absolute;
  top: 50%;
  left: -10px;
  content: "";
  display: block;
  width: 4px;
  height: 1px;
  background-color: #333;
}
.copyright {
    color: #435E9A;
    font-size: 10px;

}
.gotop{
    display: block;
    width: 60px;
    height: 60px;
    box-sizing: border-box;
    background: #FFF;
    border: 1px solid #999;
    padding-top: 30px;
    text-align: center;
    letter-spacing: -1px;
    font-size: 85%;
    text-decoration: none;
    color: #333;
    opacity: 0.5;
}
.gotop{
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 10000;
}
.gotop::before{
    content: "";
    display: block;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    width: 25%;
    height: 25%;
    top: 25%;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    transform: rotate(-45deg);
}
.gotop:hover{
    opacity: 1;
}
.gotop{
        width: 40px;
        height: 40px;
        text-indent: -9999px;
        opacity: 1;
        border: none;
        background: none;
        bottom: 10px;
        right: 10px;
    }
    .gotop::before{
        bottom: 0;
    }
@media screen and (min-width: 600px) {
.inner-block{
max-width: 1020px;
margin: 0 auto;
}
.footer-cont {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 30px 0;
}
 
.cont-item {
  display: block;
  width: calc(100% / 3);/* ←3列の場合、4列なら4 */
}
  .cont-item:nth-child(n+3) {
    margin-top: 0px;
  }
.footer-nav .ttl:first-child {
  margin-top: 0;
}
.footer-nav ul {
  font-size: 12px;
}
.footer-nav li {
  font-size: 12px;
}
.footer-nav li:first-child {
  margin-top: 0;
}
 
.footer-nav li ul {
  margin: 0 0 0 2em;
}
 
.footer-nav li li {
  position: relative;
}
.gotop{
    display: block;
    width: 60px;
    height: 60px;
    box-sizing: border-box;
    background: #FFF;
    border: 1px solid #999;
    padding-top: 30px;
    text-align: center;
    letter-spacing: -1px;
    font-size: 85%;
    text-decoration: none;
    color: #333;
    opacity: 0.5;
}
.gotop{
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 10000;
}
.gotop::before{
    content: "";
    display: block;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    width: 25%;
    height: 25%;
    top: 25%;
    left: 0;
    right: 0;
    margin: auto;
    position: absolute;
    transform: rotate(-45deg);
}
.gotop:hover{
    opacity: 1;
}
}


/**
 * ***************************************
 * ページ下部
 * ***************************************
 *
 * ページ下部コンテナ
 */
/*
html {
  --12px: 0.75rem;
  --14px: 0.875rem;
  --15px: 0.9375rem;
  --16px: 1rem;
  --17px: 1.0625rem;
  --18px: 1.125rem;
  --19px: 1.1875rem;
  --20px: 1.25rem;
  --21px: 1.3125rem;
  --24px: 1.5rem;
  --26px: 1.625rem;
  --30px: 1.875rem;
}
h1 {
  font-size: var(--21px);
}
*/
.alart{
color: #ff0000;
}
.goods-var{
color: #F08020;
}
/**
/*text-align*/

.tal{
	text-align:left;
}

.tar{
	text-align:right;
}

.tac{
	text-align:center;
}

/*font-size*/

.fs10{
	font-size:10px;
}

.fs12{
	font-size:12px;
}

.fs14{
	font-size:0.875rem;
}

.fs16{
	font-size:16px;
}

.fs18{
	font-size:1.125rem;
}
.fs20{
	font-size:1.25rem;
}

/*btn*/
.btn_over{
	cursor:pointer;
}
.btn_over:hover{
	opacity:0.6;
}

.mt10{
margin-top: 10px
}
.mb10{
margin-bottom: 10px;
}
.mt20{
margin-top: 20px
}
.mt40{
margin-top: 40px
}
.br_sp {
display: none;
}