@charset "UTF-8";
/* background-image ratina対応 */
/* メディアクエリの設定 */
/* ====================================================== */
/* [標準スタイル定義]                                     */
/* ====================================================== */
html, body {
  font-size: 14px; }

body.menu-open {
  overflow: hidden;
  height: 100vh; }

header + div.announce-group .tt-navi {
  padding: 5px 0px;
  font-size: 12px;
  background-color: #333;
  color: #333;
  text-align: center; }
  @media only screen and (orientation: portrait) {
    header + div.announce-group .tt-navi a {
      color: #333;
      font-size: 12px;
      display: inline-block; } }
  @media only screen and (orientation: landscape) {
    header + div.announce-group .tt-navi a {
      color: #333;
      font-size: 12px;
      display: inline-block; } }
  header + div.announce-group .tt-navi .icon-new {
    background-color: #333;
    color: #ffb753;
    display: inline-block;
    padding: 2px 14px;
    margin-right: 5px;
    font-size: 0.8rem;
    line-height: 1.5em; }
  header + div.announce-group .tt-navi .bold {
    display: block;
    border: none;
    margin-right: 0px;
    margin-bottom: 0px;
    position: relative;
    padding: 0px; }
  header + div.announce-group .tt-navi .bold:after {
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 5px;
    margin: auto;
    background-color: transparent;
    width: 36%;
    border-top: 1px dotted #fff;
    border-bottom: 1px dotted #fff; }
  header + div.announce-group .tt-navi .bold:before {
    content: "";
    position: absolute;
    height: 1px;
    width: 36%;
    background-color: transparent;
    top: 0;
    bottom: 0;
    left: 5px;
    margin: auto;
    border-top: 1px dotted #fff;
    border-bottom: 1px dotted #fff; }
  header + div.announce-group .tt-navi .container-980px {
    padding: 0 5px; }
  header + div.announce-group .tt-navi .swiper-pagination {
    display: none; }
  header + div.announce-group .tt-navi .swiper-button-prev,
  header + div.announce-group .tt-navi .swiper-button-next {
    width: 10.125px;
    height: 16.5px;
    -moz-background-size: 10.125px 16.5px;
    -webkit-background-size: 10.125px 16.5px;
    background-size: 10.125px 16.5px;
    margin-top: -8.25px; }

header .fb-icon a:hover,
header .tw-icon a:hover {
  filter: alpha(opacity=60);
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);
  opacity: 0.6; }

a:hover,
a.button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover,
.btnOpacity:hover,
a:active,
a.button:active,
input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active,
button:active,
.btnOpacity:active,
a:focus {
  filter: alpha(opacity=100);
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1.0; }

a.no-border {
  text-decoration: none !important; }

img {
  border: none;
  max-width: 100%;
  outline: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block; }

.nowrap {
  word-break: keep-all;
  white-space: nowrap; }

*.inline {
  vertical-align: middle; }

br.usess {
  display: none; }

/* table */
/* ------------------------------------------------------ */
table {
  border-collapse: collapse;
  border-spacing: 0px;
  border: none;
  width: 100%; }

table th {
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
  background-color: #f5f5f5;
  text-align: center;
  vertical-align: middle; }

table th + td {
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  border-left: 1px solid #cccccc; }

table th:last-child {
  border-right: 1px solid #cccccc; }

table td {
  background-color: #ffffff;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
  vertical-align: middle; }

table td:last-child {
  border-right: 1px solid #cccccc; }

table tr + tr > th {
  border-top: none;
  border-bottom: 1px solid #cccccc;
  border-left: 1px solid #cccccc; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: top; }

th, td {
  padding: 8px; }

caption {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 10px; }

table th p,
table td p,
table th textarea,
table td textarea {
  font-size: 100%; }

.table {
  display: table !important; }

.td {
  display: table-cell !important;
  vertical-align: middle; }

/* list */
/* ------------------------------------------------------ */
ul {
  list-style: none; }

p.notes {
  text-indent: -1.0em !important;
  margin-left: 1.0em !important; }

ul.notes li {
  marker-offset: 10px;
  margin-left: 1.0em !important;
  text-indent: -1.0em !important; }

ol.basic {
  padding-left: 22px; }

ol.basic > li {
  margin-top: 0.5em;
  list-style-type: decimal; }

ol.basic.alphabet > li {
  list-style-type: lower-latin; }

ul li p,
ol li p {
  font-size: 100%; }

/*===========================
表示スタイル定義
===========================*/
.wrapper {
  width: 100%;
  position: relative;
  height: auto !important;
  /*IE6対策*/
  height: 100%;
  /*IE6対策*/
  min-height: 100%;
  margin: 0px;
  padding: 0px; }

.contents {
  padding-bottom: 940px;
  /*フッターの高さと同じ*/ }

.container-980px {
  width: 100%;
  margin: 0px auto;
  padding: 10px;
  position: relative; }

a.anchor {
  position: absolute;
  top: -72px; }

.main-container section:last-child {
  padding-bottom: 20px; }

h2 {
  font-size: 20px !important;
  padding: 15px 0;
  margin-bottom: 20px;
  border-top: 3px solid #000;
  border-bottom: 3px solid #000; }

h3 {
  font-size: 18px !important;
  font-weight: bold;
  color: #000000; }

/* HEADER
---------------------------*/
header {
  padding-bottom: 0px;
  background: none !important; }
  header a {
    padding-left: 5px;
    /*margin-top: 25px;*/
    display: block; }
  header .gnavi-group li:hover a {
    color: #ff7753; }
  header .container-980px {
    padding: 0px !important; }
  header .header-above-group {
    padding: 0px 0px 5px 0px;
    border-bottom: none;
    background-color: #ffffff;
    /*FBボタン*/
    /*ロゴ*/
    /*キャッチコピー*/ }
    header .header-above-group .logo-group {
      float: none;
      position: fixed;
      width: 100%;
      height: 82px;
      top: 0px;
      background: url(/img/common/header/header_bg.png) repeat-x 0 0 #ffffff;
      background-size: 24px 17px;
      z-index: 9999;
      display: table;
      padding-top: 12px; }
      header .header-above-group .logo-group a {
        display: table-cell;
        vertical-align: middle; }
    header .header-above-group .photo-group {
      display: none;
      /*a {
      	margin-top: 3px;
      	margin-left: 5px;
      	img {
      		width: 45px;
      		height: 45px;
      	}
      }*/ }
    @media only screen and (orientation: portrait) {
      header .header-above-group .fb-like-btn {
        /*position: absolute;
        top: 40px;
        right: 0px;*/
        display: table-cell !important;
        vertical-align: middle;
        padding-right: 54px;
        padding-left: 15px; }
        header .header-above-group .fb-like-btn iframe {
          border: none;
          height: 20px;
          min-width: 104px;
          max-width: 110px;
          margin-top: 12px; } }
    @media only screen and (orientation: landscape) {
      header .header-above-group .fb-like-btn {
        display: table-cell !important;
        vertical-align: middle;
        padding-right: 54px;
        padding-left: 15px;
        width: 110px; }
      header .header-above-group iframe {
        border: none;
        height: 20px;
        min-width: 104px;
        max-width: 110px;
        margin-top: 12px; } }
    @media only screen and (orientation: portrait) {
      header .header-above-group .logo {
        width: 100%;
        height: auto;
        margin-top: 5px; } }
    @media only screen and (orientation: landscape) {
      header .header-above-group .logo {
        width: 217px;
        height: auto;
        margin-top: 6px; } }
    @media only screen and (orientation: portrait) {
      header .header-above-group .catchcopy-group {
        display: none; } }
    @media only screen and (orientation: landscape) {
      header .header-above-group .catchcopy-group {
        display: table-cell;
        vertical-align: middle;
        margin: 15px 0 0 5px;
        letter-spacing: -1px !important; }
      header .header-above-group img {
        width: 245px !important; }
      header .header-above-group p span {
        letter-spacing: -0.1px !important; } }
@media only screen and (orientation: landscape) and (max-width: 568px) {
  header .header-above-group .catchcopy-group {
    display: none; } }

    header .header-above-group .right {
      float: none;
      padding: 72px 0px 0px 0px; }
    header .header-above-group .info-group {
      margin: 10px 0px 0px 0px;
      padding: 0px 5px;
      width: 100%; }
      header .header-above-group .info-group .day-time {
        color: #ffffff;
        height: 25px;
        font-size: 16px;
        line-height: 25px;
        background: #ff6d47; }
      header .header-above-group .info-group .place {
        margin-top: 6px; }
  header .header-bottom-gtoup {
    display: none; }

/* FOOTER
---------------------------*/
footer {
  height: 940px; }

footer {
  width: 100%;
  position: absolute;
  bottom: 0;
  color: #ffffff;
  background: #226c22;
  font-size: 12px;
  line-height: 18px; }
  footer section {
    padding: 10px 0px; }
  footer .footer-below {
    width: 100%;
    padding-bottom: 40px;
    background-color: #226c22; }
  footer .footer-above {
    width: 100%;
    background: #35a835; }
  footer a {
    color: #ffffff; }
  footer .footer-above .icon-group {
    text-align: center;
    margin-right: 30px; }
    footer .footer-above .icon-group img {
      display: none; }
    footer .footer-above .icon-group p {
      font-size: 16px;
      font-weight: bold;
      margin-bottom: 20px; }
      footer .footer-above .icon-group p span {
        font-size: 18px;
        margin: 0px;
        display: inline-block;
        margin-right: 10px; }
  footer .footer-above .sitemap-group ul.flex-box {
    width: 100%; }
  footer .footer-above .sitemap-group li {
    line-height: 4.0;
    border-top: 1px dotted #8ED88E; }
    footer .footer-above .sitemap-group li a {
      display: block;
      text-decoration: none;
      width: 100%; }
      footer .footer-above .sitemap-group li a span {
        opacity: 1.0 !important; }
    footer .footer-above .sitemap-group li span {
      opacity: 0.4; }
  footer .footer-above .sitemap-group li:nth-child(even),
  footer .footer-above .sitemap-group li:nth-child(odd) {
    width: 100%; }
  footer .footer-above .sitemap-group .sitemap-links + .sitemap-links {
    margin-left: 0px; }
    footer .footer-above .sitemap-group .sitemap-links + .sitemap-links li:last-child {
      border-bottom: 1px dotted #8ED88E; }
  footer .footer-above .inquiry-group {
    border-left: 2px solid #8ED88E;
    padding: 0px 0px 0px 10px;
    margin: 10px 0px;
    width: 100%; }
    footer .footer-above .inquiry-group .left {
      float: none; }
    footer .footer-above .inquiry-group .icon-group p {
      margin-bottom: 10px;
      text-align: left; }
    footer .footer-above .inquiry-group .title {
      font-size: 12px;
      font-weight: bold; }
    footer .footer-above .inquiry-group ul + p {
      margin-top: 10px; }
    footer .footer-above .inquiry-group li {
      padding-left: 18px; }
    footer .footer-above .inquiry-group li.tel {
      background: url(/img/common/footer/icon_tel.png) no-repeat 0px center;
      background-size: 13px 13px; }
    footer .footer-above .inquiry-group li.mail {
      background: url(/img/common/footer/icon_mail.png) no-repeat 0px center;
      background-size: 13px 13px; }
    footer .footer-above .inquiry-group li.mobile {
      background: url(/img/common/footer/icon_mobile.png) no-repeat 0px center;
      background-size: 13px 13px; }
  @media only screen and (orientation: portrait) {
    footer .footer-below .container-980px {
      width: 100%;
      margin: 0px auto;
      padding: 10px; } }
  @media only screen and (orientation: landscape) {
    footer .footer-below .container-980px {
      width: 100%;
      margin: 10px auto;
      padding: 10px; } }
  footer .footer-below .support-group .supporters {
    width: 100%; }
  footer .footer-below .support-group .city-icon {
    margin-right: 0px;
    width: 96px;
    text-align: left; }
  footer .footer-below .support-group .main-support {
    font-weight: bold; }
    footer .footer-below .support-group .main-support dt {
      margin-top: 10px; }
    footer .footer-below .support-group .main-support dd {
      font-weight: normal; }
    footer .footer-below .support-group .main-support dt, footer .footer-below .support-group .main-support dd {
      float: none; }
    footer .footer-below .support-group .main-support dd + dt {
      margin-left: 0px; }
  footer .footer-below .support-group dl + dl {
    margin-top: 10px; }
    footer .footer-below .support-group dl + dl li {
      margin-right: 10px;
      word-wrap: break-word; }
    footer .footer-below .support-group dl + dl dt {
      font-weight: bold; }
    footer .footer-below .support-group dl + dl dd {
      width: auto; }
  footer .footer-below .support-group .support-company {
    display: none; }
  footer .footer-below .copy-group {
    height: auto;
    color: #fff;
    padding-bottom: 10px; }
    footer .footer-below .copy-group .right {
      float: none; }
    footer .footer-below .copy-group .td {
      display: block !important; }
    footer .footer-below .copy-group small {
      line-height: 1.5; }
    footer .footer-below .copy-group .td + .td {
      display: none !important; }
    footer .footer-below .copy-group span {
      padding-left: 0px; }
    footer .footer-below .copy-group .ptn-fes.left {
      float: none; }
    footer .footer-below .copy-group .ptn-fes .table {
      width: 100%; }
    footer .footer-below .copy-group .ptn-fes span:first-child {
      width: 100%;
      padding: 5px;
      border-radius: 0px;
      border: #fff 1px solid; }
    footer .footer-below .copy-group .ptn-fes span:nth-child(2) {
      padding: 15px 0px 0px 0px; }
      footer .footer-below .copy-group .ptn-fes span:nth-child(2) a {
        display: inline-block;
        width: 49%;
        text-align: center; }
      footer .footer-below .copy-group .ptn-fes span:nth-child(2) a + a {
        margin-left: 0px; }
      footer .footer-below .copy-group .ptn-fes span:nth-child(2) a:nth-child(n+3) {
        margin-top: 10px; }
    footer .footer-below .copy-group .ptn-fes .td + .td {
      display: block !important; }

/* BREADCRUMBS
---------------------------*/
#breadcrumbs {
  width: 100%;
  line-height: 40px;
  background-color: #f2f2f2; }
  #breadcrumbs li + li {
    padding-left: 30px;
    background: url(/image/common/icon_arrow_breadcrumbs.png) no-repeat 15px center; }

/* CONTENTS
---------------------------*/
.main-container section {
  padding: 20px 0px; }
.main-container section:first-child {
  padding: 25px 0px 40px 0px; }
.main-container section.white {
  background-color: #ffffff; }
.main-container .title-breadlist-container {
  padding: 30px 10px 20px 10px; }
  .main-container .title-breadlist-container h1, .main-container .title-breadlist-container h2.news-h2 {
    font-size: 32px !important;
    font-weight: bold;
    background: none;
    color: #000000;
    display: inline-block;
    padding-left: 0px;
    line-height: 1em;
    margin-bottom: 20px;
    padding: 0;
    border-top: none;
    border-bottom: none; }
    .main-container .title-breadlist-container h1 span.td, .main-container .title-breadlist-container h2.news-h2 span.td {
      display: block !important; }
    .main-container .title-breadlist-container h1 span.jp, .main-container .title-breadlist-container h2.news-h2 span.jp {
      font-size: 14px;
      line-height: 16px;
      padding-left: 0px;
      padding-top: 10px; }
.main-container .title-breadlist-container + section {
  padding-top: 0px; }
.main-container .title-breadlist-group {
  clear: none; }
  .main-container .title-breadlist-group .breadlist {
    display: none; }
.main-container .title-breadlist-group + * {
  margin-top: 0px; }

.co-sns-bn-group {
  display: none; }

/*===========================
色定義
===========================*/
/*===========================
スマホ・PC切り替え
===========================*/
.sp-cnt {
  display: inline !important; }

.pc-cnt {
  display: none !important; }

/*===========================
フォント定義
===========================*/
strong, .bold {
  font-weight: bold; }

.sans-serif {
  font-family: sans-serif !important; }

/*===========================
文字揃え
===========================*/
.co-tac {
  text-align: center; }

.co-tal {
  text-align: left; }

.co-tar {
  text-align: right; }

/*===========================
ページトップへ戻る
===========================*/
.gotop.pc-cnt {
  position: fixed;
  right: 2%;
  bottom: 0px; }
  .gotop.pc-cnt a {
    display: block;
    background: url(/img/common/to_pagetop.png) no-repeat 0px 0px;
    width: 97px;
    height: 66px;
    overflow: hidden;
    text-indent: -9999px; }

.gotop-sp.sp-cnt {
  position: fixed;
  z-index: 1000;
  width: 100%;
  height: 40px;
  left: 0px;
  bottom: 0px;
  background: url(/img/common/to_pagetop_sp.png) no-repeat 20px center;
  background-size: 18px 12px;
  background-color: #333333; }
  .gotop-sp.sp-cnt a {
    display: block;
    color: #fff;
    text-decoration: none;
    line-height: 40px;
    font-weight: bold;
    text-align: center;
    width: 100%;
    height: 50px;
    overflow: auto;
    text-indent: 0px;
    font-size: 12px; }

/*===========================
スマホメニュー
===========================*/
.burger-nav {
  animation-name: anime-burger;
  animation-duration: 0.5s;
  animation-timing-function: ease; }

@keyframes anime-burger {
  0% {
    transform: translateX(300px); }
  100% {
    transform: translateX(0); } }
/* メディアクエリ */
/* burger */
.burger-nav {
  display: flex;
  justify-content: space-between; }

@media (max-width: 768px) {
  .burger-nav {
    display: block;
    color: #fff;
    position: fixed;
    right: 0;
    top: 0;
    display: none;
    z-index: 10;
    background-color: rgba(255, 255, 255, 0);
    width: 100%;
    height: 100%; }

  .burger-nav.open {
    display: block; }

  .burger-nav.close {
    display: none; } }
.burger-nav a {
  color: #333;
  text-decoration: none; }

@media (max-width: 768px) {
  .burger-nav a {
    display: block;
    color: #fff; } }
.burger-nav a:hover {
  color: #00f; }

@media (max-width: 768px) {
  .burger-icon {
    display: block;
    width: 25px;
    height: 18px;
    cursor: pointer;
    position: absolute;
    top: 40px;
    right: 17px;
    z-index: 20; }

  .burger-icon span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #333;
    border-radius: 4px;
    transition: all 0.4s; }

  .burger-icon span:nth-of-type(1) {
    top: 0; }

  .burger-icon span:nth-of-type(2) {
    top: 8px; }

  .burger-icon span:nth-of-type(3) {
    bottom: 0; }

  .burger-icon.is-burger-nav-open span {
    background-color: #333; }

  .burger-icon.is-burger-nav-open span:nth-of-type(1) {
    transform: translateY(8px) rotate(-45deg); }

  .burger-icon.is-burger-nav-open span:nth-of-type(2) {
    opacity: 0; }

  .burger-icon.is-burger-nav-open span:nth-of-type(3) {
    transform: translateY(-8px) rotate(45deg); } }
/*--装飾--*/
.burger-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: #222222;
  position: absolute;
  top: 82px;
  width: 100%;
  overflow-y: auto;
  height: 100%;
  padding-bottom: 82px; }
.burger-nav li {
  width: 100%;
  border-bottom: 1px #111 solid; }
  .burger-nav li a {
    color: #ffffff;
    text-decoration: none !important;
    display: block !important;
    width: 100% !important;
    padding: 4px 10px;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: .05em; }
  .burger-nav li a:hover, .burger-nav li a:visited {
    color: #ffffff; }
  .burger-nav li span {
    text-transform: uppercase;
    height: 50px;
    display: table-cell;
    vertical-align: middle; }
  .burger-nav li span.home:after {
    content: "｜ホーム"; }
  .burger-nav li span.news:after {
    content: "｜お知らせ"; }
  .burger-nav li span.about:after {
    content: "｜三条楽音祭について"; }
  .burger-nav li span.artist:after {
    content: "｜出演者情報"; }
  .burger-nav li span.tt:after {
    content: "｜タイムテーブル"; }
  .burger-nav li span.shop:after {
    content: "｜ワークショップ・出店"; }
  .burger-nav li span.art:after {
    content: "｜アート＆ショー"; }
  .burger-nav li span.access:after {
    content: "｜アクセス・バス運行情報"; }
  .burger-nav li span.sights:after {
    content: "｜三条市観光情報"; }
  .burger-nav li span.sponsor:after {
    content: "｜協賛企業・店舗"; }
  .burger-nav li span.attent:after {
    content: "｜注意事項"; }
  .burger-nav li span.sp-cnt {
    display: table-cell !important; }
  .burger-nav li span.disable {
    color: rgba(255, 255, 255, 0.4); }
.burger-nav li + li {
  border-top: 1px #333 solid; }

.overlay {
  height: 99999px;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  display: block;
  position: fixed;
  top: 82px;
  z-index: 1001;
  overflow: hidden;
  display: none; }

.overlay.show {
  display: block; }

/* SPメニュー */
.drawer-nav-fb {
  background: url(/img/common/drawer/icon_fb.png) no-repeat left center;
  background-size: 26px 26px;
  padding-left: 35px; }

.drawer-nav-tw {
  background: url(/img/common/drawer/icon_tw.png) no-repeat left center;
  background-size: 26px 26px;
  padding-left: 35px; }

.drawer-nav-ig {
  background: url(/img/common/drawer/icon_in.png) no-repeat left center;
  background-size: 26px 26px;
  padding-left: 35px; }

.drawer-nav-photo {
  background: url(/img/common/drawer/icon_photo.png) no-repeat left center;
  background-size: 26px 26px;
  padding-left: 35px; }

/*# sourceMappingURL=sp_common.css.map */
