@charset "UTF-8";

/*
Theme Name: Sony Music Foundation (2016.10)
Theme URI: https://www.smf.or.jp/
Description: 公益財団法人ソニー音楽財団
Version: 2.0
Author: Sony Music Foundation
Author URI: https://www.smf.or.jp/
Tags: blue, custom header, fixed width, two columns, widgets
*/


/* ------------------------------------------------------
     reset styles
------------------------------------------------------ */


html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  background: none repeat scroll 0 0 transparent;
  border: 0 none;
  font-size: 100%;
  margin: 0;
  outline: 0 none;
  padding: 0;
  vertical-align: baseline;
}

body {
  background: none repeat scroll 0 0 white;
  font: 88%/1.6 "繝｡繧､繝ｪ繧ｪ", Meiryo, "繝偵Λ繧ｮ繝手ｧ偵ざ Pro W3", "Hiragino Kaku Gothic Pro", "・ｭ・ｳ ・ｰ繧ｴ繧ｷ繝・け", sans-serif;
  color: #444;
  line-height: 1.8em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1;
}

a {
  color: inherit;
  overflow: hidden;
}

ol,
ul {
  list-style: none outside none;
}

fieldset,
img {
  vertical-align: bottom;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: none;
}

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

br {
  letter-spacing: 0;
}

li {
  font-size: inherit;
}

hr {
  border: 0 none;
  height: 0;
  visibility: hidden;
}

select,
input,
textarea {
  font-size: 99%;
}

pre,
code {
  font: 100% monospace;
}

/* ------------------------------------------------------
     common
------------------------------------------------------ */


.clearfix:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
  clear: both;
}

.clear {
  clear: both;
}

html,
body {
  height: 100%;
}

body {
  background: #fff;
}

#body {
  position: relative;
}

#wrapper {
  position: relative;
  min-width:960px;
  width: 100%;
}

#wrapper:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
  clear: both;
}

p,
ul,
ol,
table {
  margin: 0px 0px 10px;
}

nav ul {
  margin-bottom: 0px;
}

td {
  vertical-align: top;
}

ol li {
  margin: 0px 0px 5px 20px;
  list-style: decimal outside;
}

ol.circle {
  list-style-type: none;
  counter-reset: number;
  counter-reset: my-counter;
  list-style: none;
}

ol.circle li {
  margin: 0px 0px 5px;
  padding-left: 24px;
  position: relative;
  list-style: none;
}

ol.circle li::before {
  content: counter(my-counter);
  counter-increment: my-counter;
  border: 1px solid #333;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 16px;
  width: 16px;
  font-size: 12px;
  line-height: 16px;
  position: absolute;
  top: 3px;
  left: 0;
}

ul.snsIcon {
  margin: 20px 0;
}

ul.snsIcon li {
  display: -moz-inline-box;
  display: inline-block;
  *display: inline;
  *zoom: 1;
  width: 24px;
  margin: 0 2px 0 0;
  line-height: 1em;
}

ul.snsIcon li.snsLine {
  display: none;
}

ul.snsIcon li:last-child {
  margin-right: 0;
}

ul.snsIcon li img {
  width: 100%;
  vertical-align: bottom;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}

ul.prg01 li {
  text-indent: -2.6em;
  margin: 0px 0px 5px 2.6em;
}

ul.prg02 li {
  text-indent: -1.6em;
  margin: 0px 0px 5px 2.4em;
}

ul.prg03 li {
  text-indent: -1.6em;
  margin: 0px 0px 5px 2.4em;
}

ul.point li {
  margin: 0px 0px 5px 20px;
  list-style: disc outside;
}

ul.notes li {
  position: relative;
  margin: 0px 0px 5px 1em;
  list-style: none;
  text-indent: -1em;
}

ul.notes li:before {
  content: '※';
}

ul.prg01 ul.point li,
ul.prg02 ul.point li,
ul.prg03 ul.point li {
  text-indent: 0;
}

ul.prg01 ul,
ul.prg01 table {
  margin-top: 10px;
}

ul.idt2rem li {
  text-indent: -2rem;
  margin: 0px 0px 5px 2rem;
}

ul.idt2rem li ul.point li {
  margin: 0px 0px 5px 2rem;
  list-style: disc inside;
}

ul.noidt li {
  text-indent: 0;
  margin-left: 0;
}

.txtBold {
  font-weight: bold;
}

.txtSmall {
  font-size: 86%;
}

.txtLarge {
  font-size: 129%;
}

.txtRed {
  color: #f00!important;
}

.txtNotes {
  font-size: 86%;
  line-height: 1.6em;
  color: #666;
}

.txtLink {
  padding: 0px 0px 0px 19px;
  background: url(img/common/arw_contents_list.png) no-repeat left center;
}

.txtLinkPdf {
  padding: 0px 0px 0px 21px;
  background: url(img/common/icn_pdf.png) no-repeat left top;
}

.txtArwDown {
  margin-left: 3rem;
}

.txtReg {
  font-size: 10px;
}

.btnDetail {
  width: 82px;
  height: 20px;
}

.btnDetail a {
  display: block;
  width: 100%;
  height: 100%;
  background: #000;
  font-size: 71%;
  line-height: 20px;
  color: #eee;
  text-align: center;
}

.btnDetail a:hover {
  background: #c00;
  color: #eee;
  text-decoration: none;
}

.acMenu {
  margin: 0 0 10px;
}

.acMenu dt {
  position: relative;
}

.acMenu dt span {
  display: block;
  cursor: pointer;
  padding: 10px;
  background: #000;
  color: #eee;
  text-align: center;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

.acMenu dt span:after {
  content: '';
  display: block;
  width: 10px;
  height: 8px;
  position: absolute;
  right: 3%;
  top: 50%;
  margin-top: -4px;
  background: url(img/common/arw_down.png) no-repeat left top;
  background-size: 10px 8px;
}

.acMenu dt.active span:after {
  content: '';
  display: block;
  width: 10px;
  height: 8px;
  position: absolute;
  right: 3%;
  top: 50%;
  margin-top: -4px;
  background: url(img/common/arw_up.png) no-repeat left top;
  background-size: 10px 8px;
}

.acMenu dd {
  display: none;
  padding: 10px 0 0;
}

.dsp-block {
  display: inline-block; /* IE */
  _display: inline; /* Mozira */
}

.txtCenter {
  text-align: center;
}

.txtRight {
  text-align: right;
}

.imgBorder {
  border: 1px solid #ddd;
}

.imgCenter {
  text-align: center;
}

.imgLeft {
  float: left;
  margin: 0px 15px 10px 0px;
}

.imgRight {
  float: right;
  margin: 0px 0px 10px 15px;
}

.imgCenter img,
.imgLeft img,
.imgRight img {
  max-width: 100%;
  vertical-align: bottom;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}


.mt0 {
  margin-top: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt20 {
  margin-top: 20px !important;
}

a {
  color: #4b6f9a;
  text-decoration: none;
}

a:hover {
  color: #4b6f9a;
  text-decoration: underline;
}

.icnNew {
  display: inline-block; /* IE */
  _display: inline; /* Mozira */
  width: 31px;
  height: 13px;
  margin: 0px 0px 0px 5px;
  background: url(img/common/icn_new.png) no-repeat 0px 0px;
}

/* form */
.required {
  background: url(img/common/bg_required.png) no-repeat right center;
}

.inputBox {
  width: 300px;
  height: 20px;
  border: solid 1px #ddd;
  padding: 2px;
}

.inputZipcode {
  width: 100px;
  margin: 0 0 5px;
}

.inputTel {
  width: 60px;
}

.inputTelSmall {
  width: 40px;
}

.textArea {
  width: 450px;
  height: 120px;
  padding: 2px;
}

.selectBox {
  width: 200px;
}

.btnSubmit li {
  float: left;
  width: 180px;
  height: 40px;
  margin: 0px 0px 0px 10px;
}

.btnSubmit li:first-child {
  margin-left: 0px;
}

.pagenavi {
  margin: 0 0 20px;
}

.displayPC {
  display: block;
}

.displayPCTab {
  display: block;
}

.displayTabSP {
  display: none;
}

.displaySP {
  display: none;
}


/* ------------------------------------------------------
     youtube レスポンシブ対応
------------------------------------------------------ */

/*動画の最大幅を指定する*/
.video-container {
  max-width: 800px;
}

.boxVideo {
  clear: both;
  max-width: 800px;
  margin: 0 0 20px;
}

.boxVideo .ttlVideo {
  margin: 0 0 10px;
  font-size: 114%;
  line-height: 1.5em;
  font-weight: bold;
}

/*動画の大きさを調整*/
.video {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  height: auto;
}

/*動画を囲んでいるdiv目一杯に広げる*/
.video iframe,
.video object,
.video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* ------------------------------------------------------
     header
------------------------------------------------------ */

header {
  position: relative;
  width: 960px;
  height: 100px;
  margin: 0 auto;
}

#logoSmf {
  position: absolute;
  left: 0px;
  top: 29px;
  width: 350px;
  margin: 0;
}

#logoSmf img {
  max-width: 100%;
  vertical-align: bottom;
}

#search {
  position: absolute;
  right: 238px;
  top: 55px;
  width: 254px;
  height: 25px;
}

#search .input {
  float: left;
  width: 229px;
  height: 25px;
}

#search .inputBox {
  width: 229px;
  height: 25px;
  padding: 2px;
  border: 1px solid #ddd;
  box-sizing: border-box;
}

#search .submit {
  float: left;
  width: 25px;
  height: 25px;
}

#btnOnline {
  position: absolute;
  right: 0;
  top: 55px;
  width: 228px;
  height: 25px;
}

#subnavi {
  position: absolute;
  right: 115px;
  top: 22px;
  width: auto;
  height: 19px;
}

#subnavi ul {
  width: auto;
  height: 19px;
  display: flex;
  justify-content: flex-start;
}

#subnavi ul li {
  margin-left: 15px;
  padding-left: 17px;
  background: url(img/common/arw_contents_list.png) no-repeat left center;
  font-size: 11px;
  line-height: 19px;
}

#subnavi ul li:first-child {
  margin-left: 0;
}

#subnavi ul li a {
  display: block;
  color: #444;
}

#subnavi ul li a:hover {
  color: #4b6f9a;
  text-decoration: none;
}

/*
#subnavi ul {
  width: auto;
  height: 19px;
}

#subnavi li {
  float: left;
  height: 19px;
  margin: 0 0 0 20px;
  padding: 0;
  line-height: 1em;
}
*/

#icnSNS {
  position: absolute;
  top: 22px;
  right: 0px;
  width: 95px;
  height: 20px;
}

#icnSNS ul {
  display: flex;
  justify-content: flex-start;
}

#icnSNS ul li {
  width: 20px;
  height: 20px;
  margin-left: 5px;
  line-height: 1em;
}

#icnSNS ul li:first-child {
  margin-left: 0;
}

#icnSNS ul li img {
  width: 100%;
  vertical-align: bottom;
}

.icnFb {
  position: absolute;
  right: 25px;
  top: 22px;
  width: 20px;
  height: 20px;
  line-height: 1em;
}

.icnYt {
  position: absolute;
  right: 0px;
  top: 22px;
  width: 20px;
  height: 20px;
  line-height: 1em;
}

.icnFb img,
.icnYt img {
  width: 100%;
  vertical-align: bottom;
}

/* Menu Button */
.menu-btn {
  display: none;
  position: absolute;
  top: 10px;
  right: 0;
  width: 40px;
  height: 40px;
  background: #245d9f url(img/common/btn_menu.png) no-repeat center center;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  color: #FFF;
  cursor: pointer;
}
.menu-btn:hover {
  opacity: 0.6;
}


/* ------------------------------------------------------
     gnavi
------------------------------------------------------ */

#gnavi {
  min-width: 960px;
  width: 100%;
  height: 50px;
  margin: 0 auto 10px;
  background: #245d9f;
}

#gnavi>ul {
  position: relative;
  width: 960px;
  height: 50px;
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}

#gnavi>ul>li {
  position: relative;
  text-align: center;
  box-sizing: border-box;
}

#gnavi>ul>li>a {
  display: block;
  padding: 0 14px;
  font-size: 12px;
  font-weight: bold;
  line-height: 50px;
  color: #fafafa;
  letter-spacing: 0.1em;
}

#gnavi>ul>li>a:hover {
  text-decoration: none;
  filter: alpha(opacity=80);
  -moz-opacity:0.8;
  opacity:0.8;
}

#gnavi>ul>li:first-child>a:before,
#gnavi>ul>li>a:after {
  content: "";
  position: absolute;
  top: 0;
  width: 1px;
  height: 50px;
  background: rgba(255,255,255,0.2);
}

#gnavi>ul>li:first-child>a:before {
  left: 0;
}

#gnavi>ul>li>a:after {
  right: 0;
}

#gnavi>ul>li.liKOK a {
  line-height: 1.5em;
  padding-top: 7px;
  padding-bottom: 7px;
}

/*
#gnavi ul {
  width: 960px;
  height: 50px;
  margin: 0 auto;
  padding: 0px 1px 0px 0px;
  background: url(img/common/line_gnavi.png) no-repeat right center;
  box-sizing: border-box;
}

#gnavi li {
  float: left;
  width: 16.6%;
  height: 50px;
  padding: 0px 0px 0px 1px;
  background: url(img/common/line_gnavi.png) no-repeat left center;
  box-sizing: border-box;
  line-height: 1em;
  text-align: center;
  position: relative;
}

#gnavi li img {
  max-width: 100%;
  vertical-align: bottom;
}
*/

#gnavi li ul {
  list-style: none;
  position: absolute;
  z-index: 100;
  top: 100%;
  left: 0;
  width: 100%;
  margin: 0;
  padding: 0;
  background: url(none);
}

#gnavi li ul li {
  overflow: hidden;
  width: 100%;
  height: 0;
  transition: .2s;
  margin: 0;
  padding: 0;
}

#gnavi li ul li a {
  display: block;
  padding: 0 0 0 20px;
  background: #16b7e5 url(img/common/line_gnavi_dd01.png) repeat-x left top;
  font-size: 86%;
  line-height: 50px;
  font-weight: normal;
  color: #fff;
  text-align: left;
}

#gnavi li ul li a:hover {
  background: #f1f4f8;
  text-decoration: none;
  color: #333;
}

#gnavi > li:hover > a {  background: #000 }
#gnavi > li:hover li:hover > a {  background: #444 }
#gnavi li:hover > ul > li {
  overflow: visible;
  height: 50px;
}

#gnavi li ul li ul {
  top: -50px;
  left: 100%;
  width: 350px;
}


/*
#gnavi li:last-child ul li ul {
  left: -100%;
  width: 100%;
}
*/

#gnavi li ul li ul li a { background: #f1f4f8 url(img/common/line_gnavi_dd02.png) repeat-x left top; color: #333; }
#gnavi li:hover ul li ul li:hover > a {  background: #245d9f; color: #ddd; }
/*
#gnavi li ul li ul:before {
  position: absolute;
  content: "";
  top: 70px;
  left: -20px;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-left-color: #ddd;
}
*/

/*
#gnavi li:last-child ul li ul:before {
  position: absolute;
  content: "";
  top: 13px;
  left: 200%;
  margin-left: -20px;
  border: 5px solid transparent;
  border-right-color: #454e08;
}
*/

#gnavi .gnavi-sp {

}

#gnavi .gnavi-sp a {
  height: 72px!important;
  padding: 8px 0 0 20px!important;
  line-height: 1.5em!important;
}

/* ------------------------------------------------------
     contents
------------------------------------------------------ */

#contents {
  clear: both;
  width: 960px;
  margin: 0 auto 20px;
}

#contents:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
  clear: both;
}

#mainContents {
  float: left;
  width: 680px;
  margin: 0 20px 0 0;
  min-height: 600px;
  height: auto !important;
  height: 600px;
}

#mainContents img {
  max-width: 100%;
  height: auto;
  box-sizing: border-box;
}

#mainContents .aligncenter {
  display: block;
  margin: 0 auto;
}

#mainContents .alignright {
  float: right;
  margin: 0 0 10px 10px;
}

#mainContents .alignleft {
  float: left;
  margin: 0 10px 10px 0;
}

#subContents {
  float: left;
  width: 260px;
}

#breadcrumb {
  margin: 0px 5px 10px;
  font-size: 86%;
}

#breadcrumb a {
  color: #4b6f9a;
}

#breadcrumb a:hover {
  color: #4b6f9a;
  text-decoration: underline;
}

section,
article {
  clear: both;
  margin: 0 0 20px;
}

section:after,
article:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
  clear: both;
}

section a,
article a {
  color: #4b6f9a!important;
}

section a:hover,
article a:hover {
  color: #4b6f9a;
  text-decoration: underline!important;
}

.ttlTopCategory {
  margin: 0 0 10px;
}

.ttlTopCategory img {
  width: 100%;
  vertical-align: bottom;
}

.ttlSecondCategory {
  margin: 0 0 15px;
  padding: 15px 0px 13px 5px;
  background: url(img/common/line_title.png) no-repeat left bottom;
  border-top: 1px solid #ddd;
  font-size: 129%;
  font-weight: bold;
  line-height: 1.6em;
}

.ttlDetail {
  font-size: 129%;
  color: #4b6f9a;
  margin: 0px 0px 10px;
  line-height: 1.6em;
}



.icnPdfDl {
  font-size: 86%;
  line-height: 16px;
  padding: 0px 0px 0px 21px;
  background: url(img/common/icn_pdf.png) no-repeat left top;
}

.icnPdf {
  display: inline-block; /* IE */
  _display: inline; /* Mozira */
  width: 16px;
  height: 16px;
  margin: 0px 5px 0px 5px;
  background: url(img/common/icn_pdf.png) no-repeat left top;
}

p.icnPdf,
li.icnPdf {
  display: auto;
  width: auto;
  height: auto;
  padding: 0 0 0 20px;
  background: url(img/common/icn_pdf.png) no-repeat left 1px;
}

.ttlSection {
  margin: 0px 0px 10px;
  padding: 10px;
  background: #21548f;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  font-size: 114%;
  line-height: 1.5em;
  color: #fff;
}

.ttlSubSection {
  font-size: 114%;
  margin: 0px 0px 10px;
}

.ttlSmallSection {
  margin: 0px 0px 5px;
}

.ttlUnderline {
  font-size: 114%;
  padding-bottom: 5px;
  margin: 0px 0px 10px;
  border-bottom: 1px solid #ccc;
}

.ttlTblContents {
  width: 100%;
  margin: 0 0 1px;
  padding: 15px 10px;
  background-color: #333;
  font-weight: bold;
  color: #eee;
  text-align: center;
  box-sizing: border-box;
}

.tblContents {
  width: 100%;
}

.tblContents dt,
.tblContents dd {
  padding: 10px 10px 8px;
  border-bottom: 1px solid #FFF;
}

.tblContents dt {
  float: left;
  width: 140px;
  background: #f0f0f0;
  border-right: 1px solid #fff;
  vertical-align: middle;
  text-align: center;
}

.tblContents dd {
  margin: 0 0 0 160px;
  background-color: #f8f8f8;
  vertical-align: top;
}




.tblContents th,
.tblContents td {
  padding: 10px 10px 8px;
  border-bottom: 1px solid #FFF;
}

.tblContents th {
  width: 140px;
  background-color: #f0f0f0;
  border-right: 1px solid #fff;
  font-weight: normal;
  vertical-align: middle;
  text-align: center;
}

.tblContents .thWide {
  width: 658px;
  background-color: #333;
  border-right: none;
  font-weight: bold;
  color: #eee;
}

.tblContents td {
  background-color: #f8f8f8;
  vertical-align: top;
}



.icnSts {
  width: 100%;
  height: 15px;
  margin: 0 0 10px;
  overflow: hidden;
}

.icnSts li {
  float: left;
  width: 60px;
  height: 15px;
  margin: 0px 3px 0px 0px;
}

.icnPre,
.icnOnsale,
.icnSmall,
.icnSoldout,
.icnInvite,
.salesEnd,
.applicationEnd {
  width: 60px;
  height: 15px;
}

.icnPre {
  background: url(img/common/icn_ticket.png) no-repeat left 0px;
}

.icnOnsale {
  background: url(img/common/icn_ticket.png) no-repeat left -20px;
}

.icnSmall {
  background: url(img/common/icn_ticket.png) no-repeat left -40px;
}

.icnSoldout {
  background: url(img/common/icn_ticket.png) no-repeat left -60px;
}

.icnInvite {
  background: url(img/common/icn_ticket.png) no-repeat left -80px;
}

.salesEnd {
  background: url(img/common/icn_ticket.png) no-repeat left -100px;
}

.applicationEnd {
  background: url(img/common/icn_ticket.png) no-repeat left -120px;
}





/* ------------------------------------------------------
     bnConcert
------------------------------------------------------ */

#bnConcert {
  clear: both;
  width: 100%;
  margin: 0 auto 40px;
}

#bnConcert ul {
  width: 100%;
}

#bnConcert li {
  float: left;
  width: 32.3%;
  margin: 0 1.5% 10px 0;
  line-height: 1em;
}

#bnConcert li:nth-child(3n) {
  margin-right: 0;
}

#bnConcert li img {
  width: 100%;
  border: 1px solid #ddd;
  vertical-align: bottom;
  box-sizing: border-box;
}


/* ------------------------------------------------------
     footer
------------------------------------------------------ */

footer {
  min-width: 960px;
  width: 100%;
  /*height: 120px;*/
  background: #050505;
}

footer a {
  color: #eee;
}

footer a:hover {
  color: #eee;
  text-decoration: underline;
}

#footer-upper {
  min-width: 960px;
  width: 100%;
  /*height: 60px;*/
  margin: 0 auto;
  padding: 10px 0 5px;
  background: #245d9f;
}

#footer-upper ul {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

#footer-upper li {
  display: -moz-inline-box;
  display: inline-block;
  /display: inline;
  /zoom: 1;
  margin: 0 5px 10px 0;
  padding: 0 8px 0 0;
  border-right: 1px solid #eee;
  font-size: 86%;
  line-height: 1em;
}

#footer-upper li:last-child {
  margin-right: 0;
  padding-right: 0;
  border: none;
}

#footer-lower {
  min-width: 960px;
  width: 100%;
  margin: 0 auto;
}

#footer-lower p {
  margin-bottom: 0px;
  font-size: 86%;
  line-height: 50px;
  color: #eee;
  text-align: center;
}



/* ------------------------------------------------------
     home
------------------------------------------------------ */

#mainVisual {
  width: 680px;
  height: 381px;
  margin: 0 0 20px;
  background: url(img/home/bg_main_visual.png) repeat;
}

#mainVisual .flexslider {
  width: 681px;
  z-index: 1;
}

#mainVisual #slider {
  width: 680px;
  height: 300px;
  margin: 0px 0px 5px;
}

#mainVisual #carousel {
  width: 670px;
  height: 71px;
  margin: 0px 5px;
}

#onlineticket {
  display: none;
  width: 100%;
  height: auto;
  margin: 0 0 20px;
}

#onlineticket img {
  width: 100%;
}

#topics {
  /*width: 680px;*/
  width: 100%;
  margin: 0 0 10px;
}

#topics:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
  clear: both;
}

#topics dl {
  /*width: 680px;*/
  width: 100%;
  min-height: 200px;
  height: auto !important;
  height: 200px;
}

#topics dd {
  margin-bottom: 10px;
  padding-bottom: 10px;
}

#topics .btnBack {
  margin-top: -10px;
}

#topics .noinfo {
  text-align: center;
  line-height: 200px;
}

#ticketInfo {
  clear: both;
  /*width: 680px;*/
  width: 100%;
  margin: 0 0 20px;
}

.listTicketInfo {
  /*width: 700px;
  margin: 0 0 0 -20px;*/
  width: 100%;
}

#ticketInfo:after,
.listTicketInfo:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
  clear: both;
}

.listTicketInfo li {
  float: left;
  /*
  width: 330px;
  margin: 0px 0px 10px 20px;
  */
  width: 48%;
  margin: 0 1% 10px;
}

/*
.listTicketInfo li:nth-child(even) {
  margin-right: 0;
}
*/

.listTicketInfo li.line {
  clear: both;
  /*width: 680px;*/
  width: 100%;
  height: 1px;
  /*margin: 0px 0px 10px 20px;*/
  margin: 0 0 10px;
  background: url(img/common/line_dot.png) repeat-x left top;
}

.listTicketInfo li .photo {
  float: left;
  width: 90px;
  height: 90px;
}

.listTicketInfo li .photo img {
  border: 1px solid #ddd;
}

.listTicketInfo li .text {
  margin: 0 0 0 100px;
}

.listTicketInfo li h3 {
  margin: 0 0 5px;
  line-height: 1.6em;
}

.listTicketInfo li .text p {
  font-size: 86%;
  line-height: 1.5em;
}

.listTicketInfo li .icnSts {
  width: 100%;
  height: 15px;
  margin: 0 0 10px;
  overflow: hidden;
}

.listTicketInfo li .icnSts li {
  float: left;
  width: 60px;
  height: 15px;
  margin: 0px 3px 0px 0px;
  padding: 0px;
  clear: none;
}

.listTicketInfo li .icnSts li.icnPre {
  background: url(img/common/icn_ticket.png) no-repeat left 0px;
}

.listTicketInfo li .icnSts li.icnOnsale {
  background: url(img/common/icn_ticket.png) no-repeat left -20px;
}

.listTicketInfo li .icnSts li.icnSmall {
  background: url(img/common/icn_ticket.png) no-repeat left -40px;
}

.listTicketInfo li .icnSts li.icnSoldout {
  background: url(img/common/icn_ticket.png) no-repeat left -60px;
}

.listTicketInfo li .icnSts li.icnInvite {
  background: url(img/common/icn_ticket.png) no-repeat left -80px;
}


/* ------------------------------------------------------
     news
------------------------------------------------------ */

.newsTop .noInfo {
  text-align: center;
  line-height: 260px;
  background: url(img/common/line_dot.png) repeat-x left bottom;
}

/* news list */
.news {
  position: relative;
  width: 100%;
  margin: 0px 0px 20px;
}

.newsTop .news {
  padding-top: 20px;
  background: url(img/common/line_dot.png) repeat-x left top;
}

.upperLine {
  padding-top: 13px;
  background: url(img/common/line_dot.png) repeat-x left top;
}

.news dt {
  position: relative;
  float: left;
  clear: both;
  width: 180px;
  padding: 0px 0px 0px 5px;
  line-height: 1.5em;
}

.news dt.icnPress {
  background: url(img/common/icn_news.png) no-repeat right 3px;
}

.news dt.icnTopics {
  background: url(img/common/icn_news.png) no-repeat right -17px;
}

.news dt.icnConcert {
  background: url(img/common/icn_news.png) no-repeat right -37px;
}

.news dt.icnMedia {
  background: url(img/common/icn_news.png) no-repeat right -57px;
}

.news dt.icnInterview {
  background: url(img/common/icn_news.png) no-repeat right -77px;
}

.news dt.icnReport {
  background: url(img/common/icn_news.png) no-repeat right -97px;
}

.news dd {
  position: relative;
  margin: 0px 0px 20px;
  padding: 0px 0px 20px 200px;
  background: url(img/common/line_dot.png) repeat-x left bottom;
}

.paging {
  margin: 0px 0px 20px;
}

.btnBack {
  font-size: 86%;
  background: url(img/common/arw_contents_list.png) no-repeat left center;
  float: right;
  clear: both;
  padding: 0px 0px 0px 19px;
  margin-right: 10px;
}


/* news detail */
.newsDetail {
  position: relative;
  /*width: 100%;*/
}

.newsDetail article {
  /*width: 100%;*/
  background: url(img/common/line_dot.png) repeat-x left bottom;
  margin: 0px 0px 10px;
  padding: 0px 0px 20px;
}

.newsDetail article img {
  max-width: 100%;
}


/* ------------------------------------------------------
     schedule
------------------------------------------------------ */

.schedule {
  position: relative;
}

.listMonth {
  position: absolute;
  top: 15px;
  right: 0px;
  z-index: +10;
  width: auto;
}

.listMonth li {
  float: left;
  padding: 0px 6px;
  border-left: 1px solid #999;
  font-size: 86%;
  line-height: 1.4em;
  letter-spacing: 0.05em;
}

.listMonth li:last-child {
  border-right: 1px solid #999;
}

.listMonth li a {
  color: #4b6f9a;
}


.listSchedule {
  margin: 0 0 20px;
}

.listSchedule:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
  clear: both;
}

.listSchedule li {
  float: left;
  clear: both;
  margin: 0 0 10px;
  padding: 0 0 10px;
  background: url(img/common/line_dot.png) repeat-x left bottom;
}

.listSchedule li:last-child {
  margin-bottom: 0px;
  padding-bottom: 0px;
  background: url(css/none);
}

.imgSchedule {
  float: left;
  width: 90px;
}

.imgSchedule img {
  width: 100%;
  vertical-align: bottom;
  border: 1px solid #ddd;
  box-sizing: border-box;
}

.txtSchedule {
  position: relative;
  margin: 0 0 0 100px;
  padding: 5px 0 0;
  min-height: 85px;
  height: auto !important;
  height: 85px;
}

.txtSchedule h3 {
  padding: 0px 0 5px;
  line-height: 1.6em;
}

.txtSchedule p {
  font-size: 86%;
  margin-bottom: 5px;
  line-height: 1.5em;
}

.txtSchedule .btnDetail {
  position: absolute;
  right: 0px;
  bottom: 0px;
}

.schedule .listSchedule {
  width: 100%;
  /*margin-top: -5px;*/
  padding-top: 20px;
  background: url(img/common/line_dot.png) repeat-x left top;
}

.schedule .listSchedule li {
  width: 100%;
}

.schedule .listSchedule .date {
  float: left;
  width: 190px;
  margin: 0px 10px 0px 0px;
}

.schedule .listSchedule .date p {
  margin-bottom: 0;
  line-height: 90px;
  text-align: right;
}

.schedule .listSchedule .txtSchedule {
  /*width: 380px;*/
  margin: 0 0 0 300px;
}

.listSchedule .icnSts {
  width: 100%;
  height: 15px;
  margin: 0 0 10px;
  overflow: hidden;
}

.listSchedule .icnSts li {
  float: left;
  width: 60px!important;
  height: 15px;
  margin: 0px 3px 0px 0px;
  padding: 0px;
  clear: none;
}

.listSchedule .icnSts li.icnPre {
  background: url(img/common/icn_ticket.png) no-repeat left 0px;
}

.listSchedule .icnSts li.icnOnsale {
  background: url(img/common/icn_ticket.png) no-repeat left -20px;
}

.listSchedule .icnSts li.icnSmall {
  background: url(img/common/icn_ticket.png) no-repeat left -40px;
}

.listSchedule .icnSts li.icnSoldout {
  background: url(img/common/icn_ticket.png) no-repeat left -60px;
}

.listSchedule .icnSts li.icnInvite {
  background: url(img/common/icn_ticket.png) no-repeat left -80px;
}

.listSchedule .icnSts .salesEnd {
  background: url(img/common/icn_ticket.png) no-repeat left -100px;
}

.listSchedule .icnSts .applicationEnd {
  background: url(img/common/icn_ticket.png) no-repeat left -120px;
}


/* ------------------------------------------------------
     concert
------------------------------------------------------ */

/* concert top */
.concertTop dl {
  position: relative;
  width: 100%;
  margin: 0px 0px 20px;
  padding: 13px 0px 0px;
  background: url(img/common/line_dot.png) repeat-x left top;
}

.concertTop dt {
  position: relative;
  float: left;
  clear: both;
  width: 160px;
}

.concertTop dt img {
  width: 100%;
  vertical-align: border-bottom;
  border: 1px solid #ddd;
}

.concertTop dd {
  position: relative;
  margin: 0px 0px 10px;
  padding: 0px 0px 30px 170px;
  background: url(img/common/line_dot.png) repeat-x left bottom;
  min-height: 100px;
  height: auto !important;
  height: 100px;
}

.concertTop h2 {
  padding: 0px 0 5px;
  font-size: 114%;
  line-height: 1.6em;
}

.concertTop p {
  font-size: 86%;
  margin-bottom: 5px;
}

.concertTop .btnDetail {
  position: absolute;
  right: 0px;
  bottom: 10px;
}


/* concert genre */
.concertGenre .imgGenre {
  float: left;
  width: 160px;
  margin: 0 0 20px;
  text-align: center;
}

.concertGenre .imgGenre img {
  max-width: 100%;
  vertical-align: bottom;
  border: 1px solid #ddd;
  box-sizing: border-box;
}

.concertGenre .txtGenre {
  margin: 0 0 20px 170px;
}

.lineDot {
  clear: both;
  width: 100%;
  height: 1px;
  margin: 0px 0px 20px;
  background: url(img/common/line_dot.png) repeat-x left top;
}

.tabMenu {
  clear: both;
  width: 100%;
  height: 30px;
}

.tabMenu li {
  float: left;
  width: 50%;
  max-width: 200px;
  height: 30px;
  border-right: solid 1px #fff;
  box-sizing: border-box;
}

.tabMenu li:last-child {
  border-right: none;
}

.tabMenu li a {
  display: block;
  width: 100%;
  height: 32px;
  background: #456080;
  font-weight: bold;
  line-height: 32px;
  color: #ccc;
  text-align: center;
}

.tabMenu li a:hover {
  background: #286bb9;
  color: #fff;
  text-decoration: none;
}

.tabMenu li a.active {
  background: #245d9f;
  color: #eee;
}

.concertGenre #futureSchedule,
.concertGenre #pastSchedule {
  clear: both;
  width: 100%;
  margin: 0px 0px 30px;
  padding: 10px;
  border: 1px solid #ddd;
  box-sizing: border-box;
}

.concertGenre #pastSchedule {
  display: none;
}

.concertGenre .noInfo {
  text-align: center;
  line-height: 260px;
}

.concertGenre .listSchedule {
  width: 100%;
}

.concertGenre .listSchedule li {
  width: 100%;
}

.concertGenre .listSchedule .txtSchedule {

}

.concertGenre #kidsCd {
  width: 100%;
}

#kidsCd .jk {
  float: left;
  width: 220px;
  /* width: 250px; */
  margin: 0 0 10px;
}

#kidsCd .jk li {
  float: left;
  width: 100%;
  /*
  width: 50%;
  padding: 0 5px 0 0;
  */
  box-sizing: border-box;
}

#kidsCd .jk li img {
  width: 100%;
  border: solid 1px #ddd;
  box-sizing: border-box;
}

#kidsCd .text {
  margin: 0 0 10px 240px;
  padding: 5px 0 0;
  /* margin: 0 0 10px 270px;  */
}

#kidsCd .text h3 {
  font-size: 129%;
  line-height: 1.5em;
}

.concertGenre .recommend {
  width: 100%;
}

.concertGenre .recommend li {
  width: 100%;
  padding: 0px 0px 10px 23px;
  background: url(img/common/arw_contents_list.png) no-repeat 5px 4px;
  box-sizing: border-box;
}

.concertGenre .recommend .imgLeft {
  margin-top: 5px;
  margin-right: 10px;
  margin-left: 5px;
}

.concertGenre .boxNotes,
.concertGenre .boxDonation,
.concertGenre .boxText {
  clear: both;
  width: 100%;
  margin: 0px 0px 30px;
  padding: 14px 14px 4px;
  background: #f5f5f5;
  border: 1px solid #ddd;
  box-sizing: border-box;
}

.concertGenre .boxNotes p,
.concertGenre .boxNotes li {
  font-size: 86%;
}

.concertGenre .boxNotesRed {
  background: #fff2f2;
  border: 1px solid #ffd9d9;
  color: #c00;
}

.concertGenre .boxNotesRed .txtTitle {
  font-size: 100%;
  font-weight: bold;
}

.dream {
  font: 88%/1.6 "Comic Sans MS","繝｡繧､繝ｪ繧ｪ", Meiryo, "繝偵Λ繧ｮ繝手ｧ偵ざ Pro W3", "Hiragino Kaku Gothic Pro", "・ｭ・ｳ ・ｰ繧ｴ繧ｷ繝・け", sans-serif;
}

.concertGenre .boxHowto {
  clear: both;
  /*width: 640px;*/
  margin: 0 0 20px;
  padding: 19px 19px 9px;
  background: #f5f5f5;
  border: 1px solid #ddd;
}

.concertGenre .boxHowto .notes {
  padding-top: 10px;
}

.concertGenre .boxHowto .notes h4  {
  margin-bottom: 5px;
  font-size: 86%;
}

.concertGenre .boxHowto .notes li  {
  margin-bottom: 2px;
}


/* concert detail */
.imgConcert {
  float: left;
  width: 160px;
  margin: 0 0 20px;
}

.imgConcert img {
  max-width: 100%;
  vertical-align: bottom;
  border: 1px solid #ddd;
  box-sizing: border-box;
}

.imgConcert p {

}

.txtConcert {
  margin: 0 0 20px 180px;
}

.txtConcert .ttlDetail {
  font-weight: bold;
}

/*.concertDetail .txtConcert div,*/
.txtConcert img {
  max-width: 100%;
  height: auto;
  box-sizing: border-box;
}

.txtConcert div:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
  clear: both;
}

.concertDetail .boxDonation {
  clear: both;
  width: 100%;
  margin: 0px 0px 20px;
  padding: 14px 14px 4px;
  background: #fce2e2;
  border: 1px solid #ddd;
  box-sizing: border-box;
}

.concertDetail .boxDonation p {
  margin-top: 20px;
}

.concertDetail .boxDonation p.txtThanks {
  margin-top: 0;
}

.concertDetail .profile,
.profile-modal {
  width: 100%;
  margin: 0 0 20px;
  padding: 15px 15px 5px;
  background: #f8f8f8;
  box-sizing: border-box;
}

.profile-modal {
  max-width: 670px;
  margin: 0 auto;
  padding: 30px 30px 20px;
  background: #fff;
  border: solid 1px #eee;
  overflow-y: auto;
  overflow-x: hidden;
}

.concertDetail .profile .imgProfile,
.profile-modal .imgProfile {
  float: left;
  margin: 0px 15px 10px 0px;
}

.concertDetail .profile .imgProfile p,
.profile-modal .imgProfile p {
  font-size: 79%;
  line-height: 1.3em;
  margin-bottom: 5px;
}

.concertDetail .profile .imgProfile p img,
.profile-modal .imgProfile p img {
  max-width: 100%;
  border: 1px solid #ddd;
}

.concertDetail .profile .ttlDetail,
.profile-modal .ttlDetail {
  margin-bottom: 0;
}

.concertDetail .profile .acMenu,
.profile-modal .acMenu {
  margin-bottom: 0;
}

.concertDetail .profile .acMenu dt,
.profile-modal .acMenu dt {
  display: none;
}

.concertDetail .profile .acMenu dd,
.profile-modal .acMenu dd {
  display: block;
  padding: 0;
}


/* ------------------------------------------------------
     saito
------------------------------------------------------ */

/* saito */
.saito .imgSaito {
  float: left;
  width: 280px;
  margin: 0 0 20px;
}

.saito .imgSaito p {
  font-size: 79%;
  line-height: 1.4em;
  margin-bottom: 5px;
}

.saito .imgSaito p img {
  display: block;
  max-width: 100%;
  margin: 0 auto;
  vertical-align: bottom;
  border: 1px solid #ddd;
  box-sizing: border-box;
}

.saito .txtSaito {
  margin: 0 0 20px 290px;
}

.saito dd {
  padding-bottom: 0px;
}

.saito .comment li {
  width: 100%;
  margin: 0 0 20px;
  padding: 0 0 10px;
  background: url(img/common/line_dot.png) repeat-x left bottom;
  box-sizing: border-box;
}

.saito .comment li:last-child {
  margin-bottom: 0px;
  padding-bottom: 0px;
  background: url(css/none);
}

.saito .comment li .ttlComment {
  font-size: 114%;
  line-height: 1.6em;
  margin: 0px 0px 10px;
}

.saito .profile {
  float: left;
  clear: both;
  width: 650px;
  margin: 0 0 20px;
  padding: 15px 15px 5px;
  background: #f8f8f8;
}

.saito .profile h4 {
  line-height: 1.6em;
  margin: 0px 0px 10px;
}

.listWinner {
  display: flex;
}

.listWinner .no {
  width: 60px;
  margin: 0;
  flex-shrink: 0;
}

.listWinner .nameWrap {
  display: flex;
  flex-wrap: wrap;
  width:  100%;
  margin: 0;
}

.listWinner .nameWrap .name:nth-of-type(1) {
  width: 180px;
}
.listWinner .nameWrap .name:nth-of-type(2) {
  width: calc(100% - 180px);
}


/* ------------------------------------------------------
     contact / mailmagazine
------------------------------------------------------ */

.contact {
  padding: 10px 0px 0px;
  background: url(img/common/line_dot.png) repeat-x left top;
  margin: -10px 0px 0px;
}

.contact p {
  background: url(img/common/line_dot.png) repeat-x left bottom;
  text-align: center;
}

.contact p img {
  max-width: 100%;
  vertical-align: bottom;
}

.contact .tblContents th,
.contact .tblContents td {
   padding: 20px 20px 18px;
  vertical-align: middle;
}

.contact .tblContents th {
  width: 160px;
}

.contact .contact-class {
  margin: 0px 0px 10px;
}


/* ------------------------------------------------------
     companyInfo
------------------------------------------------------ */

/*
.companyInfo p {
  display: inline-block;
  _display: inline;
}
*/

.companyInfo .tblContents th {
  width: auto;
  min-width: 100px;
  white-space: nowrap;
}

.companyInfo .tblContents td {
  width: auto;
}

.companyInfo .tblHistory th {
  width: auto;
  padding-left: 20px;
  padding-right: 20px;
  text-align: left;
  white-space: nowrap;
  vertical-align: top;
}

.companyInfo .tblContents h4 {
  clear: both;
  margin-bottom: 5px;
  font-weight: normal;
}

.companyInfo .tblContents ul {
  width: 100%;
  margin-bottom: 15px;
}

.companyInfo .tblContents ul:last-child {
  margin-bottom: 0;
}

.companyInfo .tblContents ul li {
  float: left;
  margin-right: 20px;
}

.companyInfo .tblContents ul li:last-child {
  margin-right: 0;
}

.companyInfo .btnBack {
  float: none;
  font-size: 100%;
}

.companyInfo .disclosure {
  clear: both;
  width: 100%;
  margin: 0px 0px 20px;
  background: #f8f8f8;
  padding: 14px;
  border: 1px solid #eee;
  box-sizing: border-box;
}

.companyInfo .disclosure:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
  clear: both;
}

.companyInfo .disclosure ul {
  width: 100%;
}

.companyInfo .disclosure li {
  list-style: none;
  float: left;
  width: 18.4%;
  margin: 0 2% 0 0;
  /*padding: 0 0 0 20px;
  background: url(img/common/icn_pdf.png) no-repeat left 1px;*/
  box-sizing: border-box;
}

.companyInfo .disclosure li:last-child {
  margin-right: 0;
}


/* ------------------------------------------------------
     privacy
------------------------------------------------------ */

.privacy {
  padding: 20px 0px 0px;
  background: url(img/common/line_dot.png) repeat-x left top;
  margin: -10px 0px 0px;
}

.ttlPrivacy {
  margin-bottom: 0;
}

.privacy ol {
  margin-bottom: 20px;
}

.public .ttlSecondCategory {
  line-height: 1.4em;
}

.procedure .tblContents {
  width: 400px;
}

.procedure .tblContents td {
  text-align: center;
}


/* ------------------------------------------------------
     kodomo
------------------------------------------------------ */

/* kodomo */
.kodomo .imgKodomo {
  float: left;
  width: 280px;
  margin: 0 0 20px;
}

.kodomo .imgKodomo img {
  display: block;
  max-width: 100%;
  margin: 0 auto;
  vertical-align: bottom;
  border: 1px solid #ddd;
  box-sizing: border-box;
}

.kodomo .txtKodomo {
  margin: 0 0 20px 290px;
}

.kodomo dt {
  position: relative;
  float: left;
  clear: both;
  width: 180px;
  padding: 0 0 0 5px;
}

.kodomo dd {
  position: relative;
  margin: 0 0 10px;
  padding: 0 0 10px 200px;
  background: url(img/common/line_dot.png) repeat-x left bottom;
}

.kodomo dd p {
  margin: 5px 0 0;
}

.kodomo dd p a {
  padding-left: 20px;
  background: url(img/common/arw_contents_list.png) no-repeat left 3px;
}


/* ------------------------------------------------------
     mailmagazine
------------------------------------------------------ */

.mailmagazine p {
  /*font-size: 116%;
  line-height: 1.8em;*/
}


/* ------------------------------------------------------
     classic
------------------------------------------------------ */

/* classic */
.classic .linkArtist {
  margin: 40px 0 0;
  text-align: center;
}
.classic .linkArtist a {
  display: block;
  max-width: 400px;
  margin: 0 auto;
  height: 60px;
  border-radius: 4px;
  background: #333;
  line-height: 60px;
  font-weight: bold;
  color: #fff !important;
}
.classic .linkArtist a:hover {
  text-decoration: none !important;
  background: #245d9f;
}
.classic .tblContents {
  margin-top:  30px;
}
.classic .tblContents th,
.classic .tblContents td {
    padding: 15px 10px 13px;
}
.classic .listArtist {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  margin:  0 -10px;
}

.classic .listArtist li {
  width:  25%;
  padding:  0 10px 20px;
  box-sizing: border-box;
}

.classic .listArtist li .imgWrap {
  position: relative;
  width: 100%;
  padding-top: 100%;
}

.classic .listArtist li .imgWrap .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/*
.classic .listArtist li img {
  width:  100%;
}
*/

.classic .listArtist li .txtName {
  margin: 10px 0 0;
  text-align: center;
}

.classic .listArtist li .txtName a {
  display: block;
  font-size:  16px;
  line-height: 1.5em;
  font-weight: bold;
}

.classic .listArtist li .txtPart {
  margin: 0;
  font-size:  12px;
  line-height: 1.5em;
  text-align: center;
}

.classic .news {
  margin-top:  20px;
}


/* ------------------------------------------------------
     404
------------------------------------------------------ */
.nopage {
  padding: 10px 0px 0px;
  background: url(img/common/line_dot.png) repeat-x left top;
  margin: -10px 0px 0px;
}

.nopage p {
  text-align: center;
  padding: 0px 0px 200px;
  background: url(img/common/line_dot.png) repeat-x left bottom;
}

.nopage .txtLarge {
  font-size: 129%;
  color: #4b6f9a;
  margin: 200px 0px 20px;
  line-height: 1.4em;
  background: url(none);
  padding-bottom: 0px;
}


/* ------------------------------------------------------
     sub-contents
------------------------------------------------------ */

.ttlBoxBlue {
  margin: -1px -1px 15px;
  height: 40px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #193f6a), color-stop(0.00, #1b4778));
  background: -webkit-linear-gradient(#1b4778, #193f6a);
  background: -moz-linear-gradient(#1b4778, #193f6a);
  background: -o-linear-gradient(#1b4778, #193f6a);
  background: -ms-linear-gradient(#1b4778, #193f6a);
  background: linear-gradient(#1b4778, #193f6a);
  -webkit-border-radius: 5px 5px 0 0;
  -moz-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
  font-size: 114%;
  line-height: 40px;
  color: #eee;
  padding: 0 15px;
}

/* info */
/*
#info {
  width: 260px;
  margin: 0 0 20px;
}

#info:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
  clear: both;
}

#info .boxMain {
  width: 230px;
  padding: 15px 14px;
  background: #f1f4f8;
  border-right: 1px solid #d6dfe9;
  border-left: 1px solid #d6dfe9;
}

#info .boxBottom {
  width: 260px;
  height: 5px;
  background: url(img/common/btm_box_blue.png) no-repeat left top;
}

#info li {
  width: 230px;
  margin: 0px 0px 15px;
  padding: 0px 0px 5px;
  background: url(img/common/line_dot.png) repeat-x left bottom;
}

#info li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  background: url(css/none);
}

#info li h3 {
  margin: 0px 0px 5px;
  color: #4b6f9a;
  line-height: 1.5em;
}

#info li p {
  font-size: 86%;
  margin-bottom: 5px;
}
*/


/* latest */
#info,
#latest {
  width: 100%;
  margin: 0 0 20px;
  background: #fff;
  border: 1px solid #ddd;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

#info {
  background: #f1f4f8;
}

#info .ttlInfo,
#latest .ttlLatest {
  margin: 0 0 15px;
  height: 40px;
  font-size: 114%;
  line-height: 40px;
  padding: 0 15px;
  border-bottom: 1px solid #ddd;
}

#info .ttlInfo {
  background: #1b4474;
  color: #eee;
}

#info ul,
#latest .listLatest {
  margin: 0 15px 15px;
}

#info:after,
#info ul:after,
#latest:after,
#latest .listLatest:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
  clear: both;
}

#info li,
#latest .listLatest li {
  width: 100%;
  margin: 0px 0px 15px;
  padding: 0px 0px 15px;
  background: url(img/common/line_dot.png) repeat-x left bottom;
}

#info li:last-child,
#latest .listLatest li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  background: url(css/none);
}

#info li h3,
#latest .listLatest li h3 {
  margin: 0px 0px 5px;
  line-height: 1.5em;
}

#info li h3 {
  color: #4b6f9a;
}

#info li p
#latest .listLatest li p {
  font-size: 86%;
  margin-bottom: 5px;
}

#latest .listLatest li .imgPdf {
  width: 160px;
  margin: 0 auto 10px;
  text-align: center;
}

#latest .listLatest li .imgPdf img {
  max-width: 100%;
  border: 1px solid #ddd;
  box-sizing: border-box;
}

#latest .listLatest li .imgPdf a:hover img {
  filter: alpha(opacity=60);
  -moz-opacity: 0.6;
  opacity: 0.6;
}

#latest .listLatest li .txtLatest {
  margin: 0;
}

#latest .listLatest .icnSts {
  width: 140px;
  height: 15px;
  margin: 0 0 10px;
  overflow: hidden;
}

#latest .listLatest .icnSts li {
  float: left;
  width: 60px;
  height: 15px;
  margin: 0px 3px 0px 0px;
  padding: 0px;
  clear: none;
}

#latest .listLatest .icnSts li.icnPre {
  background: url(img/common/icn_ticket.png) no-repeat left 0px;
}

#latest .listLatest .icnSts li.icnOnsale {
  background: url(img/common/icn_ticket.png) no-repeat left -20px;
}

#latest .listLatest .icnSts li.icnSmall {
  background: url(img/common/icn_ticket.png) no-repeat left -40px;
}

#latest .listLatest .icnSts li.icnSoldout {
  background: url(img/common/icn_ticket.png) no-repeat left -60px;
}

#latest .listLatest .icnSts li.icnInvite {
  background: url(img/common/icn_ticket.png) no-repeat left -80px;
}

#latest .listLatest .icnSts .salesEnd {
  background: url(img/common/icn_ticket.png) no-repeat left -100px;
}

#latest .listLatest .icnSts .applicationEnd {
  background: url(img/common/icn_ticket.png) no-repeat left -120px;
}


/* sideBnr */
#sideOnlineticket {
  margin: 0 0 20px;
}

#sideOnlineticket ul {
  width: 100%;
  margin: 0;
}

#sideOnlineticket li {
  width: 100%;
  line-height: 1em;
  text-align: center;
}

#sideOnlineticket li img {
  width: 100%;
  border: 1px solid #ddd;
  vertical-align: bottom;
  box-sizing: border-box;
}

/* sideBnr */
#sideBnr {
  margin: 0 0 20px;
  padding: 10px;
  background: url(img/common/bg_sidebnr.png) left top;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

#sideBnr ul {
  width: 100%;
  margin: 0;
}

#sideBnr:after,
#sideBnr ul:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
  clear: both;
}

#sideBnr li {
  width: 100%;
  margin: 0 0 5px;
  line-height: 1em;
  text-align: center;
}

#sideBnr li:last-child {
  margin-bottom: 0px;
}

#sideBnr li img {
  max-width: 100%;
  border: 1px solid #ddd;
  vertical-align: bottom;
  box-sizing: border-box;
}


/* contentsList */
#contentsList {
  width: 100%;
  margin: 0 0 20px;
  background: #fff;
  border: 1px solid #ddd;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

#contentsList ul {
  margin: 0 15px 15px;
}

#contentsList:after,
#contentsList ul:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
  clear: both;
}

#contentsList li {
  width: 100%;
  margin: 0 0 10px;
  padding: 0 5px 10px 5px;
  background: url(img/common/line_dot.png) repeat-x left bottom;
  box-sizing: border-box;
}

#contentsList li.noBorder {
  margin-bottom: 0px;
  background: url(css/none);
}

#contentsList li:last-child {
  margin-bottom: 0px;
  padding-bottom: 0px;
  background: url(css/none);
}

#contentsList li a {
  display: block;
  width: 100%;
  padding: 0px 0px 0px 20px;
  background: url(img/common/arw_contents_list.png) no-repeat left 6px;
  box-sizing: border-box;
}



/* ======================================================
     Tablet
====================================================== */

@media screen and (max-width: 800px) {  /* for Tablet */

  .displayPC {
    display: none;
  }

  .displayTabSP {
    display: block;
  }

  .menu-btn {
    display: block;
  }

  #wrapper {
    min-width: auto;
    width: 100%;
  }

  header {
    width: 96%;
  }

  #subnavi {
    display: none;
  }

  #icnSNS {
    display: none;
  }

  .icnFb,
  .icnYt {
    display: none;
  }

  #gnavi {
    display: none;
  }

  #search {
    right: 0;
  }

  #btnOnline {
    display: none;
  }

/*
  #gnavi {
    min-width: auto;
    width: 100%;
    height: 102px;
  }

  #gnavi ul {
    width: 100%;
    height: 102px;
    background: none;
  }

  #gnavi li {
    width: 33.3%;
    height: 51px;
    border-bottom: solid 1px #4e79aa;
  }
*/
  #contents {
    width: 96%;
  }

  #mainContents {
    float: none;
    width: 100%;
    margin-right: 0;
  }

  #subContents {
    float: none;
    width: 100%;
  }

  /* ------------------------------------------------------
     bnConcert
  ------------------------------------------------------ */

  #bnConcert li {
    width: 49.5%;
    margin: 0 1% 10px 0;
    line-height: 1em;
  }

  #bnConcert li:nth-child(3n) {
    margin-right: 1%;
  }

  #bnConcert li:nth-child(2n) {
    margin-right: 0;
  }

  /* ------------------------------------------------------
     footer
  ------------------------------------------------------ */

   footer {
      min-width: auto;
      width: 100%;
    }

    #footer-upper {
      min-width: auto;
      width: 100%;
    }

    #footer-upper ul {
      width: 96%;
    }

    #footer-upper li {
      font-size: 71%;
    }

    #footer-lower {
      min-width: auto;
      width: 100%;
    }

  /* ------------------------------------------------------
     home
  ------------------------------------------------------ */

  #mainVisual {
    width: 100%;
    height: auto;
  }

  #mainVisual .flexslider {
    width: 100%;
  }

  #mainVisual #slider {
    width: 100%;
    height: auto;
  }

  #mainVisual #carousel {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0 5px 5px;
    box-sizing: border-box;
  }

  #onlineticket {
    display: block;
  }


  /* ------------------------------------------------------
     sub-contents
  ------------------------------------------------------ */

  #latest .listLatest li .imgPdf {
    float: left;
    margin-bottom: 0;
  }

  #latest .listLatest li .txtLatest {
    margin: 0 0 0 180px;
  }

  #sideBnr li {
    float: left;
    width: 32.3%;
    margin-right: 1.5%;
    margin-bottom: 10px;
  }

  #sideBnr li:nth-child(3n) {
    margin-right: 0;
  }


}


/* ======================================================
     SP
====================================================== */

@media screen and (max-width: 640px) {  /* for SP */

  .displayPCTab {
    display: none;
  }

  .displaySP {
    display: block;
  }

  ul.snsIcon {
    text-align: center;
  }

  ul.snsIcon li {
    width: 40px;
  }

  ul.snsIcon li.snsLine {
    display: -moz-inline-box;
    display: inline-block;
    *display: inline;
  }

  .btnDetail {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    max-width: 300px;
    height: 40px;
  }

  .btnDetail a {
    display: block;
    font-size: 86%;
    line-height: 40px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
  }

  .btnDetail a:hover {
    background: #000;
  }

  #breadcrumb {
    display: none;
  }

  /* ------------------------------------------------------
     header
  ------------------------------------------------------ */

  header {
    height: auto;
    margin: 20px auto;
  }

  #logoSmf {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    margin: 0 50px 0 0;
  }

  #search {
    display: none;
  }

  .menu-btn {
    top: 50%;
    margin-top: -15px;
    width: 30px;
    height: 30px;
  }

  #btnOnline {
    display: none;
  }


  /* ------------------------------------------------------
     contents
  ------------------------------------------------------ */

  .ttlSecondCategory {
    background: none;
    border-bottom: 2px solid #235898;
  }


  /* ------------------------------------------------------
     home
  ------------------------------------------------------ */

  #topics dt:nth-of-type(4),
  #topics dt:nth-of-type(5) {
    display: none;
  }

  #topics dd:nth-of-type(4),
  #topics dd:nth-of-type(5) {
    display: none;
  }


  /* ------------------------------------------------------
     schedule
  ------------------------------------------------------ */
  .schedule .listSchedule .date {
    display: none;
  }

  .schedule .listSchedule .date p {
    line-height: 1.5em;
    text-align: left;
  }

  .schedule .listSchedule .txtSchedule {
    /*width: 380px;*/
    margin: 0 0 0 100px;
  }

  .txtSchedule .btnDetail {
    position: relative;
    right: auto;
    bottom: auto;
  }

  .concertTop dt {
    width: 120px;
  }

  .concertTop dd {
    padding-bottom: 10px;
    padding-left: 130px;
  }

  .concertTop .btnDetail {
    position: relative;
    right: auto;
    bottom: auto;
  }


  /* ------------------------------------------------------
     footer
  ------------------------------------------------------ */

  #footer-upper {
    margin: 0;
    padding: 0;
  }

  #footer-upper ul {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  #footer-upper li {
    position: relative;
    display: -moz-box;
    display: block;
    /display: block;
    width: 100%;
    height: 50px;
    margin: 0;
    padding: 0 10px;
    box-sizing: border-box;
    border-right: none;
    border-bottom: 1px solid #507db2;
    font-size: 86%;
    line-height: 50px;
    text-align: left;
  }

  #footer-upper li:last-child {
    border-bottom: 1px solid #507db2;
  }

  #footer-upper li a {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 50px;
  }

  #footer-upper li a:after {
    content: '';
    display: block;
    width: 8px;
    height: 18px;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -9px;
    background: url(img/common/arw_footer_navi.png) no-repeat left top;
    background-size: 8px 18px;
  }


  /* ------------------------------------------------------
     bnConcert
  ------------------------------------------------------ */

  #bnConcert {
    display: none;
  }


  /* ------------------------------------------------------
     home
  ------------------------------------------------------ */

  .listTicketInfo li {
    float: none;
    width: 100%;
    margin: 0 0 10px;
    padding: 0 0 10px;
    background: url(img/common/line_dot.png) repeat-x left bottom;
  }

  .listTicketInfo li.line {
    display: none;
  }


  /* ------------------------------------------------------
     news
  ------------------------------------------------------ */

  .news dt {
    float: none;
  }

  .news dd {
    padding-left: 5px;
  }


  /* ------------------------------------------------------
     concert
  ------------------------------------------------------ */

  /* concert detail */
  .concertDetail .profile .imgProfile,
  .profile-modal .imgProfile {
    float: none;
    margin: 0 auto 10px;
    text-align: center;
  }

  .concertDetail .profile .acMenu,
  .profile-modal .acMenu {
    margin: 0 0 10px;
  }

  .concertDetail .profile .acMenu dt,
  .profile-modal .acMenu dt {
    display: block;
  }

  .concertDetail .profile .acMenu dd,
  .profile-modal .acMenu dd {
    display: none;
    padding: 10px 0 0;
  }


  /* ------------------------------------------------------
     saito
  ------------------------------------------------------ */

  .saito .imgSaito {
    float: none;
    width: 100%;
  }

  .saito .txtSaito {
    margin-left: 0;
  }

  .saito .txtSaito .btnDetail {
    margin: 0 auto;
  }

  .listWinner .nameWrap .name:nth-of-type(1) {
    width: 100%;
  }
  .listWinner .nameWrap .name:nth-of-type(2) {
    width: 100%;
  }


  /* ------------------------------------------------------
     contact / mailmagazine
  ------------------------------------------------------ */

  .contact p {
    padding: 100px 0;
  }

  .contact p img {
    max-width: 80%;
  }

  /* ------------------------------------------------------
     companyInfo
  ------------------------------------------------------ */

  .companyInfo .disclosure li {
    width: 32%;
  }


  /* ------------------------------------------------------
     kodomo
  ------------------------------------------------------ */

  .kodomo .imgKodomo {
    float: none;
    width: 100%;
  }

  .kodomo .txtKodomo {
    margin-left: 0;
  }

  .kodomo dt {
    float: none;
    width: 100%;
    margin: 0 0 5px;
    padding-left: 0
  }

  .kodomo dd {
    padding-left: 0;
  }



}


/* ======================================================
     SP
====================================================== */

@media screen and (max-width: 480px) {  /* for SP */

  .tblContents dt {
    float: none;
    width: 100%;
    border: none;
    box-sizing: border-box;
  }

  .tblContents dd {
    margin-left: 0;
    box-sizing: border-box;
  }

  /* ------------------------------------------------------
     sub-contents
  ------------------------------------------------------ */

  #sideBnr li {
    width: 49%;
    margin-right: 2%;
  }

  #sideBnr li:nth-child(3n) {
    margin-right: 2%;
  }

  #sideBnr li:nth-child(2n) {
    margin-right: 0;
  }

  .concertTop dt {
    width: 80px;
  }

  .concertTop dd {
    padding-left: 90px;
  }

  .concertGenre .imgGenre {
    float: none;
    width: 100%;
    margin: 0 0 10px;
  }

  .concertGenre .txtGenre {
    margin: 0 0 20px;
  }


  #kidsCd .jk {
    float: none;
    width: 100%;
    margin: 0 0 10px;
  }

  #kidsCd .text {
    margin: 0 0 10px;
  }

  /* concert detail */
  .imgConcert {
    float: none;
    margin: 0 auto 10px;
  }

  .txtConcert {
    margin-left: 0;
  }


  /* ------------------------------------------------------
     saito
  ------------------------------------------------------ */

  .saito .comment li .imgLeft {
    display: block;
    float: none;
    margin: 0 auto 10px;
  }

  .saito .comment li .ttlComment {
    text-align: center;
  }

}




/* ------------------------------------------------------
     interview1711
------------------------------------------------------ */

.interview .imgInterview {
  margin: 0 0 20px;
  line-height: 1em;
  text-align: center;
}

.interview .imgInterview img {
  width: 100%;
}

.interview .ttlSection {
  margin-bottom: 20px;
}

.interview .txtQuestion {
  position: relative;
  margin-top: 20px;
  font-weight: bold;
  text-indent: 1.5rem;
}

.interview .txtQuestion:before {
  content: "";
  position: absolute;
  top: 0.7rem;
  left: 0;
  width: 1rem;
  height: 2px;
  background: #333;
}

.interview .boxProfile {
  padding: 19px 19px 9px;
  background: #f5f5f5;
  border: 1px solid #ddd;
}

.interview .ttlProfile {
  margin: 0 0 10px;
  font-size: 114%;
  line-height: 1.5em;
  font-weight: bold;
}

.interview .ttlProfile span {
  font-size: 86%;
}

.interview .boxProfile p {
  margin: 0 0 10px;
}


/* ------------------------------------------------------
     editor
------------------------------------------------------ */

.alignleft {
  margin-right: 20px;
  margin-bottom: 10px;
}

.alignRight {
  margin-left: 20px;
  margin-bottom: 10px;
}

@media screen and (max-width: 640px) {  /* for SP */
  .alignleft {
    display: block;
    width: 100%;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }

  .alignRight {
    display: block;
    width: 100%;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
}