@charset "UTF-8";
@import url("grid.css");

img {
	max-width:100%;
	height: auto;/*高さ自動*/
}
a {
    display:block;
    color: #666;
    text-decoration-line: none;
}
a:hover { 
    color: #999;
    cursor: pointer;
}
a img:hover {
	opacity: 0.8;
}

/* =============================================
汎用クラス
============================================= */

/* clearfix */
.clearfix::after {
content: "";
display:block;
clear:both;
}

/* 区切り線 */
hr.borderSolid {
width: 100%;
border: none;
border-top: 1px solid #666;
margin: 2.0em 0;
}

hr.borderDotted {
width: 100%;
border: none;
border-top: 1px dotted #666;
margin: 2.0em 0;
}

/* font 装飾*/
.serif {
font-family:YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.bold {
font-weight: bold;
}
.large {
font-size:115%;
}
.small {
font-size:93%;
}
.skyblue {
color: #23a4e5;
}
.red {
color: #c51a1d;
}
.orange {
color: #d9672b;
}
.blue {
color: #2b4069;
}
.green {
color: #2f753d;
}
.grey {
color: #8ea09e;
}
.brown {
color: #512b24;
}


/* =============================================
テキスト関連
============================================= */
/*フォントウェイト*/
.normal {
font-weight:normal;
}
.bolder {
font-weight:bolder;
}
/* 文字サイズアップ */
.sizeup-1 {
font-size:110%;
line-height:inherit;
}
.sizeup-2 {
font-size:120%;
line-height:inherit;
}
.sizeup-3 {
font-size:130%;
line-height:inherit;
}
.sizeup-4 {
font-size:140%;
line-height:inherit;
}
.sizeup-5 {
font-size:150%;
line-height:inherit;
}
.sizedown-09 {
font-size:90%;
line-height:inherit;
}
.sizedown-08 {
font-size:80%;
line-height:inherit;
}
.sizedown-07 {
font-size:70%;
line-height:inherit;
}
.sizedown-06 {
font-size:60%;
line-height:inherit;
}
.sizedown-05 {
font-size:50%;
line-height:inherit;
}

/* 文字サイズダウン */

/* 文字揃え */
.align-c {
text-align:center;
}

.align-r {
text-align:right;
}

.align-l {
text-align:left;
}

/* 中央揃え */
.mx-auto {
margin-right:auto;
margin-left:auto;
}

/*マージン0*/
.margin0 {
margin:0;
}

/*上下マージン追加*/
.margin-t0 {
margin-top:0;
}
.margin-t1 {
margin-top:1.0em;
}
.margin-t2 {
margin-top:2.0em;
}
.margin-t3 {
margin-top:3.0em;
}
.margin-t4 {
margin-top:4.0em;
}
.margin-t5 {
margin-top:5.0rem;
}

.margin-b0 {
margin-bottom:0;
}
.margin-b1 {
margin-bottom:1.0em;
}
.margin-b2 {
margin-bottom:2.0em;
}
.margin-b3 {
margin-bottom:3.0em;
}
.margin-b4 {
margin-bottom:4.0em;
}
.margin-b5 {
margin-bottom:5.0em;
}

/*上下パディング追加*/
.pad-t0 {
padding-top:0;
}
.pad-t1 {
padding-top:1.0em;
}
.pad-t2 {
padding-top:2.0em;
}
.pad-t3 {
padding-top:3.0em;
}
.pad-t4 {
padding-top:4.0em;
}
.pad-t5 {
padding-top:5.0em;
}

.pad-b0 {
padding-bottom:0;
}
.pad-b1 {
padding-bottom:1.0em;
}
.pad-b2 {
padding-bottom:2.0em;
}
.pad-b3 {
padding-bottom:3.0em;
}
.pad-b4 {
padding-bottom:4.0em;
}
.pad-b5 {
padding-bottom:5.0em;
}

/*上ボーダー・下ボーダー*/
.border-t {
border-top: 1px solid;
padding-top:0.4em;
margin-top:1.0em;
}

.border-b {
border-bottom: 1px solid;
padding-bottom:0.4em;
margin-bottom:1.0em;
}

.border-t-dot {
border-top: 1px dotted;
padding-top:0.25em;
margin-top:1.0em;
}

.border-b-dot {
border-bottom: 1px dotted;
padding-bottom:0.15em;
margin-bottom:1.0em;
}

/*URL表記行間調整*/
.url {
line-height:1.4;
font-weight:normal;
word-break: break-all;
}

/*枠囲みボックス*/
.frame-bordered {
border:1px solid #666;
padding: 1.0em 1.25em;
margin:1.0em 0;
}
.frame-white {
color:#222;
padding:0.5em 1.25em;
background:#fff;
}
.frame-grey {
padding:0.5em 1.25em;
background:#68727d;
}
.underline {
	border-bottom: 3px solid #000;
	padding-bottom: 0.5rem;
}
.center {
	text-align: center;
}

p.justify {
  text-align: justify; /* 両端揃え */
  text-justify: inter-ideograph; /* 両端揃えの種類 */
}
.signature {
font-size:1.1em;
line-height:1.0;
font-weight:bold;
display:block;
text-align:right;
margin:0;
}

/*全体*/
#wrapper {
background:#e4e1da;
}

p.kome {
font-size:0.9em;
text-indent:-1em;
padding-left:1em;
color:#990000;
}

ul.normal-list {
margin-bottom:0 0 1.5em 0;
padding:0 1.0em 0 1.5em;
list-style-type:disc;
list-style-position: outside;
}
ul.normal-list li {
padding-left:0;
}

ul.disc li {
list-style-type:disc;
}

ul.square li {
list-style-type:square;
}

figure img {
vertical-align: top;
}

/*ヘッダー
-------------------------------------*/
/*Header*/
#header_wrapper-top {
background:#512b24;
background: #e4e1da;
background: -moz-linear-gradient(top,  #e4e1da 0%, #e4e1da 50%, #e4e1da 50%, #512b24 50%, #512b24 100%);
background: -webkit-linear-gradient(top,  #e4e1da 0%,#e4e1da 50%,#e4e1da 50%,#512b24 50%,#512b24 100%);
background: linear-gradient(to bottom,  #e4e1da 0%,#e4e1da 50%,#e4e1da 50%,#512b24 50%,#512b24 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e4e1da', endColorstr='#512b24',GradientType=0 );
}
#header_wrapper {
background:#512b24;
}
#main-visual {
width:60%;
height:auto;
}
.main-img {
width:100%;
height:auto;
position:relative;
}
.main-img img {
width: 100%;
height:auto;
vertical-align: top;
}
.main-img .title-wrap {
width:100%;
position:absolute;
bottom:0;
display:block;
padding:20px 20px 20px 20px;
box-sizing:border-box;
background:rgba(81, 43, 36, 0.7);
}
.main-img .title-wrap h1 {
font-size:70px;
font-family: serif;
color:#fff;
font-weight:normal;
letter-spacing:1px;
text-align:center;
margin:0;
padding:0;
line-height:1.0;
}
.main-img .title-wrap span.ruby {
display:block;
font-size:28px;
font-family: serif;
font-weight: normal;
line-height:2;
color:#fff;
letter-spacing: 0.2em;
margin:0;
text-align:center;
}
.main-img .title-wrap p.title-catch {
font-size: 1.8rem;
text-align: center;
color: #fff;
font-weight: normal;
line-height: 1.5;
margin-bottom: 0;
}

/*コンテンツページヘッダー*/
#header-title-wrap {
width:auto;
height:65px;
margin: 15px 0;
display:inline-block;
}
#header-title-wrap h1 {
font-size:40px;
font-family: serif;
color:#fff;
font-weight:normal;
letter-spacing:1px;
text-align:left;
margin:0;
padding:0;
line-height:1.0;
}
#header-title-wrap span.ruby {
display:block;
font-size:16px;
font-family: serif;
font-weight: normal;
line-height:2;
color:#fff;
letter-spacing: 0.2em;
margin:0;
text-align:left;
}

/*pickup*/
#pickup {
width:100%;
margin:30px auto;
padding:30px;
padding-bottom:1px;
/*background:rgba(255, 255, 255, 0.1);*/
}
#pickup .pickup-jk {
width:80%;
height:auto;
margin:0 auto;
}
#pickup .pickup-jk img {
width:100%;
height:auto;
}
#pickup dl {
width:100%;
}
#pickup dt {
font-size:1em;
color:#fff;
font-weight:normal;
text-align:center;
margin:0;
}
#pickup dd {
font-size:0.9em;
color:#fff;
font-weight:normal;
text-align:center;
margin:0;
}
#pickup dd span {
font-size:1.4em;
font-weight:bold;
display:block;
margin-bottom:10px;
}

/*メインコンテンツ
-------------------------------------*/
main {
margin: 5rem 0 5rem 0;
}

section {
padding:0 0 5rem 0;
}
/*背景グレイ*/
.bg-grey {
background:#f7f7f7;
}

/*フッター
-------------------------------------*/
footer {
text-align:center;
background: #f7f7f7;
}

footer .footer-outer {
padding: 30px 5px 15px 5px;
}

footer .footer-logo-outer {
text-align: center;
margin:1.2em 0 0.5em 0;
display: block;
}

footer .footer-logo-outer span.footer-logo {
display: inline-block;
vertical-align: middle;
margin:auto 15px;
}

/* SNSアイコン
-------------------------------------*/
.sns-share {
margin: 5.0em 0 2.0em 0;
}
.sns-share dl.share-list {
text-align: center;
display:flex;
justify-content: center;
align-items: center;
}

.sns-share .share-list dt.share-ttl {
display: inline-block;
color: #043985;
font-size: 12px;
font-weight: bold;
line-height:32px;
}

.sns-share .share-list dd {
display: inline-block;
margin-left: 10px;
}

.sns-share .share-list dd img {
width: 33px;
height: 32px;
vertical-align:top;
}

/*コピーライト
-------------------------------------*/
.copyright {
font-size:0.8em;
}

/*YouTube埋め込みレスポンシブ
-------------------------------------*/
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-bottom:15px;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/* チケット予約ボタン
–––––––––––––––––––––––––––––––––––– */
.button {
  width:100%;
  display: inline-block;
  height: auto;
  padding: 0 5px;
  margin-right: 5px;
  color: #fff;
  text-align: center;
  font-size: 1.1em;
  font-weight: normal;
  line-height: 50px;
  letter-spacing: .1rem;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  background-color: #ca4775;
  border:none;
  border-radius: 5px;
  cursor: pointer;
  box-sizing: border-box;
  position:relative;
}
.button::before {
position:absolute;
display:block;
content:"";
top:19px;
left:8px;
width: 8px;
height: 8px;
border-left: 2px solid #fff;
border-bottom: 2px solid #fff;
-webkit-transform: rotate(-135deg);
transform: rotate(-135deg);
}
.button:hover,
.button:focus {
  color: #fff;
  opacity:0.8;
  transition: background-color 1s;
}

.button-border {
  width:80%;
  display: inline-block;
  height: auto;
  padding: 0 5px;
  margin-right: 5px;
  color: #fff;
  text-align: center;
  font-size: 1.1em;
  font-weight: normal;
  line-height: 50px;
  letter-spacing: .1rem;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border:1px solid #fff;
  border-radius: 5px;
  cursor: pointer;
  box-sizing: border-box;
  position:relative;
}
.button-border::before {
position:absolute;
display:block;
content:"";
top:19px;
left:8px;
width: 8px;
height: 8px;
border-left: 2px solid #fff;
border-bottom: 2px solid #fff;
-webkit-transform: rotate(-135deg);
transform: rotate(-135deg);
}
.button-border:hover,
.button-border:focus {
  color: #fff;
  opacity:0.8;
transition: background-color 1s;
}

/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
    display: none;
    position: fixed;
    bottom: 0px;
    right: 5px;
    z-index: 1000;
}
#pagetop a {
    display: block;
    font-size: 0;
    width: 40px;
    height: 40px;
    text-align: center;
    background:#512b24;
    border-radius: 50%;
    line-height: 40px;
    position: relative;
    border: 2px solid #ffffff;
}
#pagetop a::after{
    content: '';
    position: absolute;
    top: 55%;
    left: 50%;
    width: 14px;
    height: 14px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(-45deg) translateY(-65%);
    transform: rotate(-45deg) translateY(-65%);
}
#pagetop a:hover{
    background: #512b24;
}

/* =============================================
コンテンツ装飾
============================================= */
/*見出しH2*/
h2.catch {
text-align: center;
color:#512b24;
font-size: 3.6rem;
line-height:1.5;
font-family: sans-serif;
margin:0 0 3rem 0;
}

span.catch-ruby {
font-size:1.7rem;
text-align:center;
display:block;
}

/*WHAT'S NEW */
#whatsnew {
margin:0 0 0 0;
padding:0 0 0 0;
}
#whatsnew ul {
list-style-type:none;
padding:0;
margin:0 0 0 0;
}
#whatsnew li {
font-size:1.2em;
color:#000;
padding:1.7rem 2.0rem;
margin-bottom:0;
}
#whatsnew li p {
margin:0;
}
#whatsnew li span.date {
font-size:0.8em;
}
#whatsnew li span.price-code {
font-size:0.7em;
}
#whatsnew li:nth-child(odd) {
background:#f0f0f0;
}
#whatsnew li:nth-child(even) {
background:#dedede;
}

/* PROFILE LIST */
.profile dl.profile {
margin:0;
}
.profile dl.profile dt {
display: inline-block;
color: #fff;
font-size: 1.5rem;
font-weight: normal;
line-height:1.0;
background:#333;
margin:0 0 0.5em 0;
padding:0.2em 1em;
border-radius:100vh;
}
.profile dl.profile dd {
padding:0;
margin:0 0 1.0em 0;
}

/* DISCOGRAPHY */
.discography dl.dg-list {
}
.discography dl.dg-list dt {
font-size:1.1em;
}
.discography dt span.disc-type {
font-size:0.9em;
color:#fff;
font-weight:bold;
padding:0.2em 0.5em;
margin-right:0.5em;
background:#666;
border-radius:3px;
}
.discography dl.dg-list dd {
margin-top:1em;
margin-left:0.25em;
}

a.order-button {
font-size:1em;
color:#fff;
text-align:center;
margin:12px 0;
padding:0.5em 1em;
background:#512b24;
border:none;
border-radius:4px;
}
a.order-button:hover {
opacity:0.8;
transition: background-color 1s;
}

/*開閉式アコーディオン
-------------------------------------*/
.accordion-wrap{
width:100%;
border-bottom: 1px solid #1f3153;
box-sizing:border-box;
}

.accordion-item {
width: 100%;
margin: 0 auto;
cursor: pointer;
margin-top: 30px;
}

.accordion-header {
font-size:1.7rem;
line-height:1.6;
font-weight:bold;
transition: ease-in-out 100ms;
margin-bottom:1.0em;
position:relative;
padding-right:30px;
}

.accordion-text {
width: 100%;
display: none;
padding-top: 5px;
padding-bottom: 20px;
}

.inner-title {
font-size:1.7rem;
line-height:1.6;
font-weight:bold;
}

.arrow-down {
transition: ease-in-out 300ms;
}

.rotate-arrow-down {
transform: rotate(180deg);

}

.accordion-header .arrow-down {
float: right!important;
line-height: 35px;
}

.accordion-no-bar {
border-bottom: 0;
}

.accordion-header span.disc-num {
display:inline-block;
font-size:0.9em;
color:#fff;
font-weight:bold;
line-height:1.0;
background:#000;
padding:4px 16px;
border-radius: 100vh;
}

@media screen and (max-width: 420px) {
.accordion-header {
font-size:1.5rem;
transition: ease-in-out 100ms;
margin-bottom:1.0em;
padding-right:2.0em;
position:relative;
}
}

.accordion-text {
width: 100%;
display: none;
padding-top: 5px;
padding-bottom: 20px;
}

.arrow-down {
display:block;
position: absolute;
bottom: 40%;
right: 0;
width:20px;
height:20px;
background:url("../images/arrow-down.png");
background-size:20px 20px;
transition: ease-in-out 300ms;
}

.rotate-arrow-down {
transform: rotate(180deg);
}

.accordion-border {
color: #1f3153;
}

.accordion-no-bar {
border-bottom: 0;
}

ul.web_url {
font-size:1.4rem;
margin:0;
list-style: none;
word-break: break-all;
}

@media screen and (min-width:421px) and (max-width: 768px){
body {
font-size:15px;
}

/*Header*/
#header_wrapper-top {
background:#512b24;
background: #e4e1da;
background: -moz-linear-gradient(top,  #e4e1da 0%, #e4e1da 40%, #e4e1da 40%, #512b24 40%, #512b24 100%);
background: -webkit-linear-gradient(top,  #e4e1da 0%,#e4e1da 40%,#e4e1da 40%,#512b24 40%,#512b24 100%);
background: linear-gradient(to bottom,  #e4e1da 0%,#e4e1da 40%,#e4e1da 40%,#512b24 40%,#512b24 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e4e1da', endColorstr='#512b24',GradientType=0 );
}
#main-visual {
width:100%;
height:auto;
}
.main-img {
width:100%;
height:auto;
position:relative;
}
.main-img img {
width: 100%;
height:auto;
vertical-align: top;
}
.main-img .title-wrap {
width:100%;
position:absolute;
bottom:0;
display:block;
padding:10px 10px 10px 10px;
box-sizing:border-box;
background:rgba(81, 43, 36, 0.7);
}
.main-img .title-wrap h1 {
font-size:50px;
font-family: serif;
color:#fff;
font-weight:normal;
letter-spacing:1px;
text-align:center;
margin:0;
padding:0;
line-height:1.0;
}
.main-img .title-wrap span.ruby {
display:block;
font-size:20px;
font-family: serif;
font-weight: normal;
line-height:2;
color:#fff;
letter-spacing: 0.2em;
margin:0;
text-align:center;
}
.main-img .title-wrap p.title-catch {
font-size: 1.3rem;
text-align: center;
color: #fff;
font-weight: normal;
line-height: 1.5;
margin-bottom: 0;
}

/*メイン画像
-------------------------------------*/
#main-visual .main-img {
width:100%;
height:auto;
}

/*pickup*/
#pickup {
width:100%;
margin:20px auto 0 auto;
padding:0 10px;
padding-bottom:1px;
box-sizing:border-box;
}
#pickup .pickup-jk {
width:50%;
height:auto;
margin:0 auto;
}
#pickup .pickup-jk img {
width:100%;
height:auto;
}
#pickup dl {
width:100%;
}
#pickup dt {
font-size:0.9em;
color:#fff;
font-weight:normal;
text-align:center;
margin:0;
}
#pickup dd {
font-size:0.8em;
color:#fff;
font-weight:normal;
text-align:center;
margin:0;
}
#pickup dd span {
font-size:1.2em;
font-weight:bold;
}


h2.catch {
font-size: 2.5rem;
}
span.catch-ruby {
font-size:1.5rem;
}
#schedule h3.release-date {
font-size:2.4rem;
color: #000;
padding:0.6rem 0;
margin:5rem 0 1.5rem 0;
}
.item-wrap {
padding:0 2rem;
background:#f7f7f7;
}
.mv-play::after {
width:30px;
height:21px;
}
section.info-topic h3 {
font-size:2.0rem;
line-height:1.6;
}
section.info-topic h4 {
font-size:1.7rem;
line-height:1.6;
}
}

@media screen and (max-width: 420px){
body {
font-size:14px;
}
/*Header*/
#header_wrapper-top {
background:#512b24;
}
#main-visual {
width:100%;
height:70vh;
overflow: hidden;
position:relative;
}
.main-img {
width:100%;
height:auto;
}
.main-img img {
width: 100%;
height:auto;
vertical-align: top;
}
#main-visual .title-wrap {
width:100%;
position:absolute;
bottom:12vh;
display:block;
padding:16px 8px 16px 8px;
box-sizing:border-box;
background:rgba(81, 43, 36, 0.7);
}
#main-visual .title-wrap h1 {
font-size:70px;
font-family: serif;
color:#fff;
font-weight:normal;
letter-spacing:1px;
text-align:center;
margin:0;
padding:0;
line-height:1.0;
}
#main-visual .title-wrap span.ruby {
display:block;
font-size:20px;
font-family: serif;
font-weight: normal;
line-height:2;
color:#fff;
letter-spacing: 0.2em;
margin:0;
text-align:center;
}
#main-visual .title-wrap p.title-catch {
font-size: 1.2rem;
text-align: center;
color: #fff;
font-weight: normal;
line-height: 1.5;
margin-bottom: 0;
}

/*コンテンツページヘッダー*/
#header-title-wrap {
width:auto;
height:40px;
margin: 15px 0;
display:inline-block;
}
#header-title-wrap h1 {
font-size:24px;
font-family: serif;
color:#fff;
font-weight:normal;
letter-spacing:1px;
text-align:left;
margin:0;
padding:0;
line-height:1.0;
}
#header-title-wrap span.ruby {
display:block;
font-size:12px;
font-family: serif;
font-weight: normal;
line-height:2;
color:#fff;
letter-spacing: 0.18em;
margin:0;
text-align:left;
}

/*pickup*/
#pickup {
width:92%;
margin:12px auto 0;
padding:30px 10px;
padding-bottom:1px;
box-sizing:border-box;
}
#pickup .pickup-jk {
width:70%;
height:auto;
margin:0 auto;
}
#pickup .pickup-jk img {
width:100%;
height:auto;
}
#pickup dl {
width:100%;
}
#pickup dt {
font-size:1em;
color:#fff;
font-weight:normal;
text-align:center;
margin:0;
}
#pickup dd {
font-size:0.9em;
color:#fff;
font-weight:normal;
text-align:center;
margin:0;
}
#pickup dd span {
font-size:1.4em;
font-weight:bold;
}

/*WHAT'S NEW */
#whatsnew {
margin:0 0 60px 0;
padding:0;
}
#whatsnew h2 {
font-size:2.5rem;
color:#512b24;
margin:10px auto 15px auto;
width:80%;
}
#whatsnew dl {
width:100%;
background:none;
padding:0 1.0rem;
margin:1rem auto;
box-sizing:border-box;
}
#whatsnew dt {
color:#fff;
border-bottom:1px dotted #fff;
padding-bottom:0.5rem;
margin-bottom:1rem;
}
#whatsnew dd {
color:#fff;
margin-bottom:2rem;
word-break: break-all;
margin-left:0;
}
#whatsnew dd:last-of-type {
margin-bottom:0;
}

h2.catch {
font-size: 2.6rem;
}
span.catch-ruby {
font-size:1.4rem;
}
/* PROFILE LIST */
#profile {
margin:0 0 0 0;
padding:0 0 0 0;
}
.profile dl.profile {
margin:0 0 5rem 0;
}
}
