@charset "utf-8";

/*  =============================================================

　　凡用

============================================================= */

/*  centering
-------------------------- */
.boxC {
	margin:0 auto;
}

/*  image
-------------------------- */

.boxMainImage {
	width:65%;
	height:auto;
	margin:0 auto;
}

.boxMainImage img{
	width:100%;
}

/*  カラム
-------------------------- */
.boxOperaTwoColumn {
	overflow:hidden;
}

.boxOperaTwoColumn > .boxChild {
	width:48%;
	float:left;
	margin-right:4%;
}

.boxOperaTwoColumn > .boxChild + .boxChild {
	float:right;
	margin-right:0;
}

/*  Dl リスト
-------------------------- */
.boxOperaDl01 {}

.boxOperaDl01 > dl > dt {
	float:left;
	width:160px;
	padding:20px 0;
}


/* type01 border + 横並び */
.boxOperaDl01 > dl > dd {
	padding:20px 0 20px 160px;
	border-top:1px solid #ccc;
}

.boxOperaDl01 > dl > dd:last-child {
	padding-bottom:0;
}

.boxOperaDl01 > dl.dtBold > dt {
	font-weight:bold;
}

.boxOperaDl01 > dl.listUnderLine > dd:last-child {
	border-bottom:1px solid #ccc;
}

.boxOperaDl01 > dl.listTopLineHide > dt:first-child {
	padding-top:0;
}

.boxOperaDl01 > dl.listTopLineHide > dt:first-child + dd {
	padding-top:0;
	border-top:none;
}

/* type02 装飾なし 横並び */
.boxOperaDl02 > dl {
	overflow:hidden;
}

.boxOperaDl02 > dl > dt {
	float:left;
	width:80px;
}

.boxOperaDl02 > dl > dd {
	margin-left:80px;
}

.boxOperaDl02.threeTxt > dl > dt {
	width:60px;
}

.boxOperaDl02.threeTxt > dl > dd {
	margin-left:60px;
}


/*  ul リスト
-------------------------- */

.ulMarginList {}

.ulMarginList > li {
	margin-bottom:15px;
}

.ulMarginList > li:last-child {
	margin-bottom:0;
}

/*  =============================================================

　　個別設定

============================================================= */


/*  コンテンツ　設定
--------------------------------------------- */

/*  メイン 設定
----------------------------------- */

/*  Main Title
-------------------------- */

.boxMainTitle {
}

.boxMainTitle .txtSmall {
  font-size: .65em;
  font-weight: bold;
  line-height: 1em;
}

.boxMainTitle h1 span {
  display: inline;
  padding-bottom: 5px;
  border-bottom-color: #b50b0d;
  line-height: 1.9em;
}

/*  Topics
-------------------------- */

.boxTopics {
}

.boxTopics h2.ttl {
  margin: 0 0 10px;
  font-size: 1.25em;
  text-align: center;
}

.boxTopics .boxTopicsList li dt {
  width: 120px;
  padding-left: 10px;
}

.boxTopics .boxTopicsList li dd {
  padding-left: 120px;
}

/*  Page Link
-------------------------- */

.boxPageLink {
  padding: 30px 0;
}

.boxPageLink ul {
  margin: 0 0 0 -5px !important;
}

.boxPageLink li {
  position: relative;
  padding: 0 0 0 5px !important;
}

.boxPageLink .btn.arw {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.boxPageLink .btn.arw:before {
  top: auto;
  left: 50%;
  right: auto;
  z-index: 2;
  bottom: 30px;
  width: 12px;
  height: 12px;
  margin-left: -10px;
  border-color: #fff #fff transparent transparent;
  border-width: 2px 2px 0 0;
}

.boxPageLink .boxTxtWrap {
  display: table;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 60px 0;
}

.boxPageLink .icnNew .boxTxtWrap:before {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 5;
  padding: 17px 11px;
  border-radius: 100%;
  background: #b50b0d;
  color: #fff;
  font-size: .95em;
  content: "NEW";
}

.boxPageLink .boxTxtWrap:after {
  display: block;
  transition: opacity .4s ease-in-out;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 0;
  width: 100%;
  background: rgba(0,0,0,.3);
  content: "";
}

.boxPageLink a:hover .boxTxtWrap:after {
  opacity: .3;
}

.boxPageLink .boxTxtWrap p {
  display: table-cell;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  color: #fff;
  text-align: center;
  vertical-align: middle;
}

.boxPageLink .boxTxtWrap p span {
  display: block;
}

.boxPageLink .boxTxtWrap p .txtLarge {
}

.boxPageLink .boxTxtWrap p .txtSmall {
  padding-top: 5px;
}

.boxPageLink #navAbout a {
  background-image: url(../img/img-pagelink-about.jpg);
}

.boxPageLink #navApp a {
  background-image: url(../img/img-pagelink-application.jpg);
}

.boxPageLink #navOfficial a {
  background-image: url(../img/img-pagelink-official.jpg);
}


/*  Info
-------------------------- */

.boxInfo {
  padding-top: 30px;
}


/*  Notes
-------------------------- */

.boxNotes {
  overflow: hidden;
  padding: 30px 50px 10px 40px;
}

.boxNotes > p {
  margin-bottom: 20px;
}

.boxNotes.result > * {
  float: left;
  width: 60%;
}

.boxNotes.result .imgNotes {
  float: right;
  width: 30%;
  text-align: right;
}

.boxNotes .ttl .txtNum {
  padding-right: 20px;
}

.boxNotes.review .ttl {
  margin-bottom: 20px;
}

.boxNotes .boxSummary {
  margin: 10px 0;
  padding: 0;
}

.boxNotes .boxSummary > dl > dd {
  padding-bottom: 20px;
}

.boxNotes .boxDl03 dl dt {
  min-width: 150px;
}

.boxNotes .txtBlue {
  color: #b50b0d;
}

.boxNotes.review {
  background: #fafafa;
}

.boxNotes .boxPhoto {
  width: 600px;
  margin: 20px auto;
  font-size: .95em;
  line-height: 1.7em;
}

.boxNotes .boxPhoto .imgPhoto {
  margin-bottom: 10px;
  background: #ccc;
  text-align: center;
}

#newest {
  margin-bottom: 0;
}

#past {
  margin-bottom: 0;
}

#past .boxAcc {
  background: none;
}

#past .boxAccHead {
  padding: 20px 40px;
  background: #b50b0d;
  color: #fff;
  font-size: 1.1em;
  font-weight: bold;
  text-align: center;
}

#past .boxAccHead:before {
  display: none;
}

#past .boxAccHead span {
  padding-right: 30px;
}

#past .boxAccHead span:before,
#past .boxAccHead span:after {
  background: #fff;
}

#past .boxAccHead span:before {
  right: -2px;
  width: 18px;
  height: 3px;
}

#past .boxAccHead span:after {
  width: 3px;
  height: 18px;
  margin-top: -10px;
}

#past .boxAccCont {
}

/*  Schedule
-------------------------- */

.boxSchedule {
}

.boxSchedule .ttl {
  margin-bottom: 10px;
}

.boxSchedule table {
  margin: 10px 0;
}

.boxSchedule table th {
  width: 230px;
}

/*  Inquiry
-------------------------- */

.boxInquiry {
  line-height: 2em;
}

.boxInquiry .ttl {
  margin-bottom: 5px;
}


/*  Repertoire
-------------------------- */

.boxRepertoire {
  margin-bottom: 50px !important;
}

.boxRepertoire.lineTop {
  margin-top: 40px !important;
  padding-top: 40px !important;
}

.boxRepertoire table {
  margin: 15px 0 0;
}

.boxRepertoire .boxNotes02 {
  width: 100%;
  padding: 20px;
}

.boxRepertoire .boxNotes02 .ttl {
  margin: 0;
}

.boxRepertoire .boxNotes02 .boxDotList {
  margin: 0;
}

/*  Outline
-------------------------- */

.boxOutline {
  margin-bottom: 25px !important;
  line-height: 2em;
}

.boxOutline.lineTop {
  margin-top: 25px !important;
  padding-top: 25px !important;
}

.boxOutline .ttl.style03 {
  font-size: 1.05em;
}

.boxOutline > p {
  padding-top: 5px;
}

.boxOutline .boxDotList {
  margin: 5px 0;
}

.boxOutline .boxDl02 dl dt {
  min-width: 100px;
}

.boxOutline .boxDl02 dl dt:after {
  float: right;
}

.boxOutline .boxNotes02 {
  display: block;
}

.boxOutline .boxNotes02.boxDl03 dl dt {
  min-width: 120px;
  font-weight: normal;
}

.boxOutline .boxNotes02.boxDl04 dl dt {
  width: 70px;
  font-weight: normal;
}

.boxOutline .boxNotes02.boxDl04 dl dd {
  padding-left: 70px;
  line-height: 2em;
}

.boxOutline .boxDotList.dotPtn03 ul li:before {
  content: "◯";
}

.boxOutline .boxDotList.dotPtn03 .boxDotList.dotPtn02 ul li:before {
  content: "■";
}


/*  Application
-------------------------- */

.boxApplication {
  margin-bottom: 25px !important;
  line-height: 2em;
}

.boxApplication.lineTop {
  margin-top: 25px !important;
  padding-top: 25px !important;
}

.boxApplication .ttl.style03 {
  font-size: 1.05em;
}

.boxApplication > p {
  padding-top: 5px;
}

.boxApplication .boxDotList {
  margin: 5px 0;
}

.boxApplication .txtSmall {
  font-size: .7em;
}

.boxApplication .boxDotList.dotPtn04 {
  margin: 0;
}

.boxApplication .boxDotList.dotPtn03 ul li:before {
  content: "◯";
}

.boxApplication .boxDotList.dotPtn03 .boxDotList.dotPtn02 ul li:before {
  content: "■";
}

.boxApplication .boxDotList.dotPtn03 .boxDotList.dotPtn04 ul li:before {
  content: "※";
}

/*  About
-------------------------- */

.boxAbout {
}

.boxAbout .ttl.style03 {
  margin-top: 40px;
}

.boxAbout .ttl.style03 .txtSmall {
  font-weight: normal;
}

.boxAbout p {
  padding-top: 20px;
  line-height: 2em;
}

.boxAbout .ttl.style03 + p {
  padding-top: 0;
}

.boxAbout .boxImgArea {
  padding-top: 30px;
}

/* ---- Intro ---- */

#intro.boxAbout {
  margin-bottom: 30px;
}

/* ---- Purpose ---- */

#purpose.boxAbout {
}

.boxAbout .boxBgArea {
  padding: 50px 30px 100px;
  background: url(../img/bg-about-opera.jpg) no-repeat center;
  background-size: cover;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

.boxAbout .boxBgArea h2.ttl {
  margin: 0 0 30px;
  font-size: 1.3em;
}

.boxAbout .boxBgArea .boxList {
  padding-top: 60px;
  font-size: 1.1em;
}

.boxAbout .boxBgArea .boxList li {
/*  padding-top: 20px;*/
}

/* ---- Winner ---- */

#winner.boxAbout {
}

#winner.boxAbout h2.ttl {
  margin-bottom: 20px;
}

.boxAbout .boxWinner {
  margin-bottom: 20px;
}

.boxAbout .boxWinner table {
  width: 100%;
  margin: 0 0 10px;
  border-top: 10px solid #f7f5f1;
  border-bottom: 10px solid #f7f5f1;
  background: none;
  border-collapse: collapse;
}

.boxAbout .boxWinner table tr {
  border: none;
}

.boxAbout .boxWinner table th,
.boxAbout .boxWinner table td {
  vertical-align: top;
}

.boxAbout .boxWinner table th {
  width: 12%;
  border-left: none !important;
}

.boxAbout .boxWinner table th,
.boxAbout .boxWinner table td {
  border-left: 1px solid #ccc;
  background: #f7f5f1;
  word-wrap: break-word;
  padding: 10px 25px;
}

.boxAbout .boxWinner table th + td[colspan="2"] {
  width: 43%;
  padding-left: 40px;
}

.boxAbout .boxWinner table th + td[colspan="2"] + td,
.boxAbout .boxWinner table td:first-child + td + td,
.boxAbout .boxWinner table th[rowspan="3"] + td + td + td {
  width: 25%;
}

.boxAbout .boxWinner table th + td[colspan="2"] + td + td,
.boxAbout .boxWinner table th[rowspan="3"] + td + td + td + td {
  width: 20%;
}

.boxAbout .boxWinner table th[rowspan="3"] + td {
  width: 12%;
}

.boxAbout .boxWinner table th[rowspan="3"] + td + td {
  border-left: none;
  width: 31%;
}

.boxAbout .boxWinner table th[rowspan="3"] + td,
.boxAbout .boxWinner table td:first-child {
  padding-left: 40px;
  padding-right: 0;
}

.boxAbout .boxWinner table td:first-child + td {
  border-left: none;
}

/* ---- Master Class ---- */

#masterclass.boxAbout {
}

/* ---- About Column ---- */

#aboutcolumn.boxAbout {
}

#aboutcolumn.boxAbout .boxSectionSide {
  width: 32%;
  padding-right: 30px;
}

#aboutcolumn.boxAbout .boxSectionMain {
  width: 68%;
}


/*  Judge
-------------------------- */

.boxJudge {
  margin-bottom: 40px !important;
}

.boxJudge.lineTop {
  margin-top: 40px !important;
  padding-top: 40px !important;
}

.boxJudge .boxTitle,
.boxJudge .boxCont {
  float: right;
  width: 75%;
}

.boxJudge .boxImg {
  float: left;
  width: 25%;
  padding-right: 30px;
}

.boxJudge .boxTitle {
  margin-bottom: 15px;
  font-size: 1.12em;
}

.boxJudge .boxTitle h2 {
  font-size: 1.3em;
}

.boxJudge .boxTitle h2 span {
  padding-left: 5px;
  font-size: .72em;
  font-weight: normal;
}

.boxJudge .boxCont {
  font-size: .98em;
  line-height: 2.2em;
}

/*  Result
-------------------------- */

.boxResult {
}

.boxResult .ttl.style03 {
  margin-top: 40px;
  font-size: 1.2em;
}

.boxResult .ttl.style03 .txtSmall {
  font-weight: normal;
}

.boxResult p {
  padding-top: 20px;
  line-height: 2em;
}

.boxResult .ttl.style03 + p {
  padding-top: 0;
}

/* ---- Intro ---- */

#intro.boxResult {
  margin-top: 60px;
  margin-bottom: 30px;
}

/* ---- Result Content ---- */

#result.boxResult {
  padding-top: 30px;
  padding-bottom: 60px;
}

#result.boxResult .ttl.style03 {
  margin-top: 0;
  margin-bottom: 10px;
  padding: 0;
}

.boxResult .boxResultContent {
}

.boxResult .boxResultContent.lineTop {
  margin-top: 30px !important;
  padding-top: 30px !important;
}

.boxResult .boxResultContent .ttl {
  margin-top: 0;
}

.boxResult .boxResultContent .ttl.style03 {
  margin-bottom: 20px;
  padding: 0;
}

.boxResult .boxRank {
}

.boxResult .boxRank .ttl.style06 {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
  margin-bottom: 30px;
  color: #fff;
  background: #222;
}

.boxResult .boxRank .ttl.style06.woman {
  background: #b50b0d;
}

.boxResult .boxRank .ttl.style06.man {
  background: #0b2fb5;
}

.boxResult .boxRank .boxRankList {
}

.boxResult .boxRank .boxRankList > ol > li {
  overflow: hidden;
  padding-top: 20px;
}

.boxResult .boxRank .boxRankList > ol > li:first-child {
  padding-top: 0;
}

.boxResult .boxRank .boxRankList .boxImgArea {
  float: left;
  width: 32%;
  padding: 0;
}

.boxResult .boxRank .boxRankList .boxImgArea .imgThumb {
  padding: 0;
}

.boxResult .boxRank .boxRankList .boxImgArea .txtCaption {
  padding-top: 20px;
  line-height: 1.8em;
}

.boxResult .boxRank .boxRankList .boxTxtArea {
  float: right;
  width: 68%;
  padding-left: 20px;
}

.boxResult .boxRank .boxMovie {
  padding-top: 20px;
}

.boxResult .boxRank .boxMovie:first-child {
  padding-top: 0;
}

.boxResult .boxRank .boxMovie iframe {
  width: 100% !important;
  margin: 0;
}

.boxResult .boxRank .boxMovie .txtCaption {
  padding-top: 2px;
  font-size: .95em;
}

.boxResult .boxRankOther {
}

.boxResult .boxRankOther table {
  border: 1px solid #98875b;
  border-top: none;
  border-spacing: 0;
  background: none;
  line-height: 1.7em;
}

.boxResult .boxRankOther table th,
.boxResult .boxRankOther table td {
  border-top: 1px solid #98875b;
  background: none;
  font-weight: normal;
  padding: 15px;
}

.boxResult .boxRankOther table th {
  width: 61%;
}

.boxResult .boxRankOther table td {
  width: 13%;
}

/*  Past
-------------------------- */

.boxPast {
}

.boxPast .ttl.style03 {
  margin-top: 40px;
  font-size: 1.2em;
}

.boxPast .ttl.style03 .txtSmall {
  font-weight: normal;
}

.boxPast p {
  padding-top: 20px;
  line-height: 2em;
}

.boxPast .ttl.style03 + p {
  padding-top: 0;
}

/* ---- Photo List ---- */

.boxPast .boxPhotoList {
  padding-top: 10px;
}

.boxPast .boxPhotoList > ul {
  margin-top: -10px;
  margin-left: -10px;
}

.boxPast .boxPhotoList > ul > li {
  padding-top: 10px;
  padding-left: 10px;
}

.boxPast .boxPhotoList .txtCaption {
  padding-top: 10px;
  padding-right: 5px;
  padding-left: 5px;
  font-size: .9em;
}

/* ---- Movie ---- */

.boxPast .boxMovie {
  width: 560px;
  margin: 50px auto;
}

.boxPast .boxMovie iframe {
  margin-bottom: 0;
}

.boxPast .boxMovie .txtCaption {
  padding-top: 0;
}

/* ---- Artists ---- */

.boxPast .boxArtists {
  margin: 30px 0;
}

.boxPast .boxArtistsList {
  margin: 10px 0;
  padding: 20px;
}

.boxPast .boxArtistsList .imgThumb {
  float: left;
  width: 20%;
  padding: 0;
}

.boxPast .boxArtistsList .boxList {
  float: right;
  width: 80%;
  padding-left: 30px;
  font-size: .9em;
}

.boxPast .boxArtistsList .boxList > ul > li {
  padding: 8px 0;
  border-top-width: 1px;
  border-bottom-width: 0;
}

.boxPast .boxArtistsList .boxList > ul > li:first-child {
  border-top-width: 0;
  padding-top: 0;
}

.boxPast .boxArtistsList .boxList dt {
  width: 350px;
  padding-right: 20px;
  font-weight: normal;
}

.boxPast .boxArtistsList .boxList dd {
  padding-left: 350px;
}


/*  サイド 設定
----------------------------------- */

/*  Side Navi
-------------------------- */

.boxSideNav {
  font-weight: bold;
}

.boxSideNav,
.boxSideNav a {
  color: #b50b0d;
}

.boxSideNavList {
  font-size: .9em;
  line-height: 1.45em;
}

.boxSideNavList.boxLineList ul > li {
  padding: 0;
  border-color: #f2ddde;
  border-style: solid;
}

.boxSideNavList ul > li > a,
.boxSideNavList ul > li .icn.arw {
  width: 100%;
  padding-right: 10px;
  padding-left: 35px;
}

.boxSideNavList.boxLineList ul > li:first-child > a,
.boxSideNavList.boxLineList ul > li:first-child > .icn.arw {
  padding-top: 14px !important;
}

.boxSideNavList ul > li .icn.arw:before,
.boxSideNavList ul > li .icn.arw:after {
  top: 14px;
  left: 15px;
  border-width: 5px 6px;
}

.boxSideNavList.boxLineList ul > li:first-child > .icn.arw:before,
.boxSideNavList.boxLineList ul > li:first-child > .icn.arw:after {
  top: 18px;
}

.boxSideNavList ul > li .icn.arw:before {
  border-left-color: #b50b0d;
}

.boxSideNavList .boxAcc {
  margin: 0;
  background: none;
}

.boxSideNavList .boxAcc .boxAccHead {
  border: none;
  padding-left: 35px;
}

/* Plus Icon */
.boxSideNavList .boxAcc .boxAccHead:before,
.boxSideNavList .boxAcc .boxAccHead:after {
  display: block;
  position: absolute;
  top: 24px;
  left: 12px;
  bottom: auto;
  width: 9px;
  height: 1px;
  margin-top: -1px;
  border: none !important;
  background: #b50b0d;
  content: "";
}

.boxSideNavList .boxAcc .boxAccHead:after {
  left: 16px;
  width: 1px;
  height: 9px;
  margin-top: -5px;
}

/* Minus Icon */
.boxSideNavList .boxAcc .boxAccHead.active:after {
  opacity: 0;
}

.boxSideNavList .boxAccCont {
  font-size: .9em;
}

.boxSideNavList .boxAccCont ul > li {
  padding: 0;
  border-top-width: 1px;
  border-bottom-width: 0;
}

.boxSideNavList .boxAccCont ul > li .icn.arw:after {
  border-left-color: #f8fcff;
}

/* -- Current -- */

.boxSideNavList > ul > li.current > a,
.boxSideNavList .boxAcc .boxAccHead.active {
  background-color: #fdefef;
}


/*  =============================================================

　　初期化

============================================================= */

/*  pタグ　padding
-------------------------- */
#content .boxParagInit p {
	padding-top:0;
}

/*  list style (ul)
-------------------------- */
#content .boxUlStyleInit ul {}
#content .boxUlStyleInit ul > li::before{
	content:'';
}