@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap');

/* ////////////////////////////////////////////////////////////////////////////////

	Common

//////////////////////////////////////////////////////////////////////////////// */

body {
    font-family: 'Manrope','Zen Kaku Gothic New', sans-serif;
    font-size: 12px;
    line-height: 1.8;
    -webkit-text-size-adjust: 100%;
    font-weight: 500;
    background: #ffbc00;
    color: #231714;
}

img {
	max-width: 100%;
	height: auto;
}

.anim {
	opacity: 0;
	transform: translateY(40px);
	transition: all 0.6s ease-out;
}
.anim.on {
	opacity: 1;
	transform: translateY(0px);
}

@media screen and (min-width: 813px) {
	
	.sp { display: none;}
	
	a {
		-webkit-transition: all 0.3s ease-out;
		transition: all 0.3s ease-out;
	}
	
}
@media screen and (max-width: 812px) {
	
	.pc { display: none;}

}


.mfp-inline-holder {
	width: 816px;
	max-width: 100vw;
    left: 50%;
    transform: translateX(-50%);
}
.mfp-inline-holder .mfp-close {
    color: #fff;
    top: -45px;
    right: -16px;
}

.infoPop {
	/*width: 800px;
	max-width: 95vw;
	margin: 0 auto;*/
	height: 85vh;
	overflow: auto;
}
.infoPop img {
	width: 100%;
	height: auto;
}

main > section {
    padding: 120px 0;
    position: relative;
}
main > section.part {
    padding: 0;
}

.section_inner {
    max-width: 1020px;
    margin: 0 auto;
    width: 82%;
}

.section_tit {
    font-size: 82px;
    text-align: center;
    line-height: 1.2;
    font-family: "pf-fuel-decay", sans-serif;
    font-weight: 400;
    margin-bottom: 70px;
}


ul {
    list-style: none;
}

@media screen and (max-width: 812px) {
	.mfp-inline-holder {
		padding: 0 5vw;
	}
	
	.infoPop {
		height: 70vh;
	}

main > section {
    padding: 80px 0;
}

.section_tit {
    font-size: min(45px, 10.5vw);
    margin-bottom: 40px;
}

.section_inner {
    width: 88%;
}
}



/****************************************
	j[
*****************************************/
.hamBtn {
    position: fixed;
    transition: all .5s ease 0.6s;
    cursor: pointer;
    z-index: 9999;
    width: 7rem;
    height: 5rem;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    mix-blend-mode: difference;
}

.loaded .hamBtn {
}

.hamBtn > div {
    width: 100%;
    position: relative;
}

.hamBtn span {
    display: block;
    right: 0;
    width: 100%;
    height: 9px;
    background: rgb(190 52 90);
    transition: all .3s ease;
    margin: 6px 0;
}

.hamBtn.open span:nth-of-type(1) {
    transform: skewY(15deg);
    transform-origin: top left;
}
.hamBtn.open span:nth-of-type(2) {
	opacity: 0;
}
.hamBtn.open span:nth-of-type(3) {
    transform: skewY(-15deg);
    transform-origin: top left;
}

.menuArea_wrap {
    width: 100%;
    position: relative;
    height: auto;
    z-index: 999;
    opacity: 0;
    pointer-events: none;
    transition: 0.5s 0s;
}

.menuArea.fixed{
    position: fixed;
    z-index: 999;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #00000061;
}


.menuArea .menu{
    display: -webkit-flex;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    width: 1000px;
    margin: 0 auto 0px;
    align-items: center;
}
.menuArea .menu li{
    text-align: center;
    position: relative;
}
.menuArea .menu li:last-child{
    margin-bottom: 0;
}
.menuArea .menu li a {
    text-decoration: none;
    color: #fff;
    font-size: min(3rem, 6vh);
    display: inline-block;
    line-height: 1;
    font-family: "pf-fuel-decay", sans-serif;
    font-weight: 400;
}
.menuArea .menu li a:hover{
    transition: 0.4s;
    opacity: 0.6;
}

.menuArea .menu li .new_icon {
    display: flex;
    align-items: center;
    position: absolute;
    justify-content: center;
    background: #fdb4d3;
    top: -30px;
    right: -4px;
    font-size: 10px;
    color: #fff;
    font-weight: bold;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    letter-spacing: 0.04em;
}

.menuArea .menu li .new_icon::before {
    content: '';
    display: block;
    width: 15px;
    height: 15px;
    background: #fdb4d3;
    position: absolute;
    left: 4px;
    bottom: 3px;
    transform: skew(-25deg, -18deg) rotate(83deg);
    z-index: -1;
    transition: 0.5s;
}



.menuArea_wrap.open {
    display: block;
    opacity: 1;
    pointer-events: all;
    transition: 0s;
}

.menuArea {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999;
}
.menuArea::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #c83761;
    position: absolute;
    transition: 0.5s 0s;
    top: 0;
    left: 0;
    transform-origin: center;
    transform: skewY(-26deg) scaleY(0);
}

.open .menuArea::before {
    transform: none;
}


.menuArea .menu {
    width: 100%;
    margin: 0 auto 0px;
    display: block;
    text-align: center;
    transition: all .5s ease-out 0.3s;
    transform: translateY(6vh);
    opacity: 0;
}

.open .menuArea .menu {
    opacity: 1;
    transform: none;
}

.menuArea.fixed {
    top: 0;
    left: 0;
    transform: none;
    background: #000000b3;
}

.menuArea .menu li {
    margin: 0 auto 1rem;
    width: 100%;
    border: none;
}

.menuArea .menu li a:hover{
}

.header {
    position: fixed;
    top: 0;
    right: -10px;
    z-index: 10000;
    width: auto;
    display: flex;
    align-items: center;
}

.tab_list {
    display: flex;
    color: #fff;
    width: 360px;
}
.tab_list li {
    width: 50%;
}
.tab_list li:last-child {
}

.tab_list li a {
    display: block;
    text-align: center;
    padding: 11px 35px;
    transition: 0.3s;
    line-height: 0;
    position: relative;
}

.tab_list li:last-child a {
}

.tab_list li a.current {
}

.tab_list li a img {
    position: relative;
    z-index: 1;
}

.tab_list li a::before {
    content: '';
    background: #231714;
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: skewX(15deg);
    border-bottom: 4px solid #ba324a;
    transition: 0.3s;
}

.tab_list li .bd_tab::before {
    border-color: #35a2b3;
}

.tab_list li .bd_tab.current::before {
    background: #35a2b3;
}
.tab_list li .mv_tab.current::before {
    background: #ba324a;
}


/* ////////////////////////////////////////////////////////////////////////////////

	First View

//////////////////////////////////////////////////////////////////////////////// */
.firstView {
    height: 100vh;
    height: 100svh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: url(/static/theoralcigarettes/official-pc/altergeist_bd/images/bg_bluray_UwG8Xd26.jpg);
    background-size: cover;
    background-position: 50% 0%;
    min-height: 42vw;
    position: relative;
}

#movie .firstView {
    background-image: url(/static/theoralcigarettes/official-pc/altergeist_bd/images/bg_movie_UwG8Xd26.jpg);
    background-position: 50% 65%;
}


.firstView .fvWrap {
    opacity: 0;
    transition: 0.6s 0.1s;
}

.loaded .firstView .fvWrap {
    opacity: 1;
}


.firstView .fvWrap .al_title {
    line-height: 0;
    position: absolute;
    width: 21%;
    left: 3rem;
    bottom: 3rem;
    filter: drop-shadow(0px 0px 14px #ffffff60);
}

#movie .firstView .fvWrap .al_title {
    left: auto;
    right: 3rem;
}


@media screen and (max-width: 812px) {
	
.hamBtn span {
    height: 6px;
}

.hamBtn {
    width: 5rem;
    height: 3.5rem;
}

.menuArea .menu li a {
    font-size: 2.3rem;
}

.menuArea .menu li {
    margin-bottom: 15px;
}

.hamBtn.open span:nth-of-type(1) {
    transform: skewY(16.5deg);
}
.hamBtn.open span:nth-of-type(3) {
    transform: skewY(-16.5deg);
}

.header {
    right: -4px;
}

.tab_list {
    width: 165px;
    max-width: 80vw;
}

.tab_list li a {
    padding: 8px 17px;
}

.tab_list li a::before {
    border-width: 3px;
}


.firstView {
    height: 100vw;
}

#bd .firstView {
    background-position: 60% 0%;
}

.firstView .fvWrap .al_title {
    width: 46%;
    left: 4%;
    bottom: 1rem;
    filter: drop-shadow(0px 0px 2px #ffffff90) drop-shadow(0px 0px 2px #ffffff90) drop-shadow(0px 0px 2px #ffffff90);
}

#movie .firstView .fvWrap .al_title {
    right: 4%;
    filter: none;
}
	
}


/* ////////////////////////////////////////////////////////////////////////////////

	package

//////////////////////////////////////////////////////////////////////////////// */


main > section:nth-of-type(odd) {
    background: #231714;
    color: #ffffff;
}

main > section:nth-of-type(even)::before, main > section:nth-of-type(even)::after {
    content: '';
    display: block;
    width: 50%;
    height: 50vw;
    position: absolute;
    top: 0;
    right: 0;
    background: url(/static/theoralcigarettes/official-pc/altergeist/images/ph_bg_dust_vB9Dp72r.png);
    z-index: -1;
    background-size: 100%;
    background-repeat: no-repeat;
}

main > section:nth-of-type(even)::after {
    top: auto;
    bottom: 0;
    right: auto;
    left: 0;
    transform: rotate(180deg);
}

.package {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #ffbc00;
    padding: 30px 0;
}

.package:last-of-type {
    border-bottom: 1px solid #ffbc00;
}

.package_tit {
    width: 65%;
}

.package_tit:last-child {
    padding: 0 0 0 25px;
    border-right: none;
}

.benefit_all {
    padding-top: 30px;
    line-height: 0;
}

.package_img_wrap {
    width: 35%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.package_img_wrap .bd_jacket {
    width: 80%;
    margin: 0 auto;
}

.package_txt {
    font-size: 14px;
}

.package_tit h3 {
    font-size: 30px;
    color: #ffbc00;
}

.package_tit .price {
    font-size: 34px;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 20px;
}

.package_tit .price .sml {
    font-size: 0.6em;
}

.package_tit .type_wrap {
    margin-bottom: 8px;
}

.package_tit .type_wrap .type {
    background: #ffbc00;
    color: #231714;
    font-weight: bold;
    font-size: 15px;
    padding: 1px 11px;
    display: inline-block;
    margin-right: 8px;
}

.package_tit .desc {
    padding-top: 5px;
}

.package_desc li {
    text-indent: -1em;
    padding-left: 1em;
    font-size: 12px;
}

.package_buy {
    padding: 10px 0 0px;
    text-align: center;
}

.package_txt .track_list {
    column-count: 2;
}
.package_txt .track_list li {
    break-inside: avoid;
}

.package_add {
    width: 50%;
}

.limited_desc {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 15px;
}

.package_img {
    line-height: 0;
    padding-bottom: 30px;
}

.benefit {
}

.benefit:last-child {
}

.benefit_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 20px 0;
    border-top: 1px dotted;
}

.benefit_wrap:last-child {
    padding-bottom: 0;
}


.benefit_wrap .benefit_info {
    width: 60%;
}

.benefit_wrap .benefit_img {
    width: 35%;
    line-height: 0;
}

.bd_jacket {
    width: 40%;
    margin: 0 auto 3rem;
    line-height: 0;
}

.bd_tit {
    margin: 0 auto 4rem;
    text-align: center;
    font-family: alternate-gothic-no-1-d, sans-serif;
    line-height: 1.3;
}
.bd_tit_min {
    font-size: 2rem;
}
.bd_tit_main {
    font-size: 3.5rem;
}
.bd_release {
    font-size: 2rem;
}


.bd_lead {
    margin-bottom: 3rem;
    font-size: 1.02rem;
}
.bd_lead > p {
    margin-bottom: 1rem;
}
.bd_lead > p:last-child {
    margin-bottom: 0;
}


.package_inner {
    color: #ffbc00;
    font-weight: bold;
    font-size: 1rem;
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
}

.track_list {
    margin-bottom: 15px;
}
.track_list:last-child {
    margin-bottom: 0;
}

.track_list > li {
    font-size: 1.05rem;
    margin-bottom: 0.3rem;
    line-height: 1.5;
    word-break: break-word;
    display: flex;
}

.track_list > li .num {
    font-family: alternate-gothic-no-1-d, sans-serif;
    display: inline-block;
    text-indent: 0;
    width: 2em;
    color: #ffbc00;
}

.track_list > li .track_tit {
    display: block;
    width: calc(100% - 2em);
}

.package_tit .price .price_type {
    font-size: 1rem;
    border: 1px solid;
    padding: 0.2em 0.5em;
    vertical-align: 0.4em;
}

@media screen and (max-width: 812px) {

.bd_jacket {
    width: 65%;
    margin: 0 auto 2rem;
}

.bd_tit {
    margin-bottom: 1.2rem;
}

.bd_tit_min {
    font-size: 1.2rem;
}

.bd_tit_main {
    font-size: 1.8rem;
}

.bd_release {
    font-size: 1.4rem;
}

.bd_lead {
    font-size: 0.8rem;
    margin-bottom: 1.5rem;
}

.bd_lead > p {
    margin-bottom: 0.6rem;
}

.attention_list.attention_lead {
    margin-bottom: 1.5rem;
}

.attention_list > li {
    font-size: 0.75rem;
}

.package_tit {
    width: 100%;
    margin-bottom: 20px;
    padding: 0;
}

.package_tit:last-child {
    padding: 0;
    margin-bottom: 0;
}

.benefit_all {
    padding: 0;
}

.track_list > li {
    font-size: 0.9rem;
}

.package {
    padding: 30px 0;
}

.package_tit h3 {
    font-size: 24px;
    margin-bottom: 3px;
}

.package_tit .type_wrap .type {
    font-size: 13px;
}

.package_tit .price {
    font-size: 28px;
}
.package_tit .price .price_type {
    font-size: 0.5em;
}

.benefit {
}

.package_inner {
    font-size: 15px;
}

.package_txt {
    width: 100%;
    font-size: 13px;
}


.package_txt .track_list {
    column-count: 1;
}

.package_buy {
    padding: 0;
    border-bottom: 1px solid #ffbc00;
    padding-bottom: 25px;
}

.package_img {
    line-height: 0;
    padding-bottom: 20px;
}

.package_add {
    width: 100%;
    margin-bottom: 1rem;
}

.package_add:last-child {
    margin-bottom: 0;
}

.package_img_wrap {
    width: 100%;
    margin-bottom: 1rem;
}

.package_img_wrap .bd_jacket {
    width: 65%;
    margin: 0 auto;
}

.benefit_wrap .benefit_info {
    width: 100%;
    margin-bottom: 1rem;
}

.benefit_wrap .benefit_img {
    width: 100%;
    line-height: 0;
    padding: 0 6%;
    background: #fff;
}
	
}


/* ////////////////////////////////////////////////////////////////////////////////

	DVD Disc

//////////////////////////////////////////////////////////////////////////////// */

.iframeBox {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.iframeBox iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.subsc {
    text-align: center;
}

.innerbox {
    background-color: #f6f6f6;
    padding: 40px;
    margin-bottom: 40px;
    color: #231714;
}
.innerbox:last-child {
    margin-bottom: 0;
}

.ph {
    display: block;
    position: relative;
    overflow: hidden;
}

.ph a img {
    display: block;
    transition: 0.3s;
}
.ph a:hover img:not(.btn_play) {
    transform: scale(1.1);
}

.ph .btn_play {
    display: block;
    line-height: 0;
    z-index: 1;
    position: absolute;
    width: 22%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.box_tit {
    font-family: alternate-gothic-no-1-d, sans-serif;
    font-size: 53px;
    font-weight: normal;
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 1.2;
    margin-bottom: 30px;
}

.btn a {
    background: #231714;
    display: block;
    max-width: 400px;
    margin: 0 auto 15px;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 18px;
    padding: 22px;
    text-align: center;
    border: 1px solid #231714;
}

.btn:last-child a {
    margin-bottom: 0;
}

.btn.btn_y a {
    background: #ffbc00;
    color: #231714;
    line-height: 1.5;
    font-size: 15px;
    width: 100%;
}

.btn.btn_y a .sold {
    font-family: alternate-gothic-no-1-d, sans-serif;
    font-weight: 500;
    margin-right: 0.3rem;
    display: inline-block;
    line-height: 1;
    padding: 0.2em 0.3em 0;
    font-size: 0.95em;
    background: #000000;
    color: #ffbc00;
}

.btn a:hover {
    background: #ffbc00;
    color: #231714;
}

.btn_wrap {
    display: flex;
    justify-content: center;
    gap: 3%;
    flex-wrap: wrap;
}

.btn_wrap .btn {
    width: 38%;
}

.box_txt_min {
    margin-bottom: 20px;
    font-size: 13px;
}
.box_txt {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
}

.order_tit {
    background: #231714;
    color: #ffbc00;
    text-align: center;
    width: fit-content;
    margin: 0 auto 0.5rem;
    font-size: 1.1rem;
    font-weight: bold;
    padding: 0.1em 0.8em;
    position: relative;
}

.order_tit .sold {
    font-family: alternate-gothic-no-1-d, sans-serif;
    font-weight: 600;
    border: 1px solid #1f1f1f;
    display: inline-block;
    line-height: 1;
    padding: 0.2em 0.3em 0;
    font-size: 1.5rem;
    background: #ffbc00;
    color: #1f1f1f;
    width: fit-content;
    white-space: nowrap;
    position: absolute;
    left: 100%;
    top: -0.8em;
    transform: translateX(-50%) rotate(16deg);
}

.order_txt {
    text-align: center;
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom: 0.5rem;
}

.order_txt.order_benefit {
    border: 2px solid;
    padding: 15px 20px;
    font-size: 1rem;
    width: fit-content;
    margin: 0 auto 25px;
}

.innerbox .attention_list {
    width: fit-content;
    margin: 0 auto 20px;
}

.innerbox .attention_list:last-child {
    margin: 0;
}


.attention_list > li {
    text-indent: -1em;
    padding-left: 1em;
    line-height: 1.5;
    font-size: 0.8rem;
    margin-bottom: 0.3em;
}
.attention_list > li:last-child {
    margin-bottom: 0;
}

.attention_list.attention_lead {
    margin-bottom: 3rem;
    color: #ffbc00;
}

.special_tit {
    text-align: center;
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 2rem;
}

.special_visual {
    width: 50%;
    margin: 0 auto;
    line-height: 0;
}


@media screen and (max-width: 812px) {

.order_tit {
    font-size: 1rem;
}

.order_tit .sold {
    font-size: 1.3rem;
}

.order_txt {
    font-size: 15px;
}


.special_visual {
    width: 100%;
}
	
	#dvd h3 {
		font-size: 12vw;
	}
	#dvd .ttlSub {
		font-size: 3.6vw;
		letter-spacing: 0.05em;
	}
	
	#dvd .filmTtl {
		margin-top: 8vw;
		font-size: 4vw;
		line-height: 1.6;
	}
	#dvd .filmTtl span {
		font-size: 3.6vw;
		font-weight: normal;
	}
	
#dvd .dvdList {
    margin: 0 auto 30px;
    display: block;
}

#dvd .dvdList ol {
    padding: 20px 20px 1px;
    width: 100%;
}
#dvd .dvdList ol:nth-of-type(2) {
    padding: 0px 20px 20px;
}
#dvd .dvdList ol li {
    font-size: 15px;
    margin-bottom: 5px;
    padding-left: 36px;
}

	#dvd .dvdList ol li.encore1 {
		margin-top: 6vw;
	}

#dvd .dvdList ol li:before {
    font-size: 16px;
}

.innerbox {
    margin-bottom: 30px;
    padding: 20px;
}

.order_txt.order_benefit {
    padding: 15px;
    line-height: 1.6;
    margin-bottom: 15px;
    font-size: 13px;
    width: 100%;
}

.box_tit {
    font-size: 32px;
    margin-bottom: 20px;
}

.btn_wrap .btn {
    width: 100%;
    margin-bottom: 10px;
}
.btn_wrap .btn:last-child {
    margin-bottom: 0;
}

.btn a {
    font-size: 15px;
    line-height: 1.6;
    padding: 18px;
}

.box_txt_min {
    text-align: left;
    margin-bottom: 15px;
    line-height: 1.6;
}

.box_txt {
    font-size: 16px;
    margin-bottom: 15px;
}

.btn.btn_y a {
    font-size: 13px;
    width: 100%;
}

	
}

/* ////////////////////////////////////////////////////////////////////////////////

	Trailer

//////////////////////////////////////////////////////////////////////////////// */

#trailer {
}
#trailer h3 {
    font-family: alternate-gothic-no-1-d, sans-serif;
    font-size: 64px;
    font-weight: normal;
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 1.2;
}
#trailer .ttlSub {
    font-size: 20px;
    text-align: center;
    letter-spacing: 0.05em;
}


/* ////////////////////////////////////////////////////////////////////////////////

	MV Slider

//////////////////////////////////////////////////////////////////////////////// */
#mv {
	width: 100%;
    overflow: hidden;
}
#mv ul {
	max-width: 960px;
	margin: 0 auto;
}
#mv ul li {
    color: #fff;
    padding: 0;
    margin-bottom: 3rem;
}

#mv ul li:last-child {
    margin-bottom: 0;
}

#mv ul li .mvInner {
	background-color: #000;
}
#mv ul li:focus { outline: none;}
#mv ul li h3 {
	text-align: center;
	font-size: 28px;
	padding: 40px 60px;
	width: 100%;
    box-sizing: border-box;
}
#mv ul li h3 span {
	font-size: 22px;
}

#mv ul li .mvFlex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0 60px;
	margin-bottom: 60px;
}
#mv ul li .mvFlex .jacket {
	width: 30%;
	line-height: 0;
}
#mv ul li .mvFlex .yt {
	width: 64%;
}
#mv ul li .mvFlex .yt div {
	position: relative;
	padding-top: 56.25%;
}
#mv ul li .mvFlex .yt div iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#mv ul li dl {
	
}
#mv ul li dl dt {
	border-bottom: #fff solid 1px;
	border-top: #fff solid 1px;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	padding: 15px;
	letter-spacing: 0.05em;
	position: relative;
	cursor: pointer;
}
#mv ul li dl dt::after {
	content: "";
	display: block;
	width: 24px;
	height: 2px;
	background-color: #fff;
	position: absolute;
	top: 50%;
	right: 70px;
	margin-top: -1px;
}
#mv ul li dl dt::before {
	content: "";
	display: block;
	width: 2px;
	height: 24px;
	background-color: #fff;
	position: absolute;
	top: 50%;
	right: 81px;
	margin-top: -12px;
}
#mv ul li dl dt.on::before {
	opacity: 0;
}

#mv ul li dl dt.off .on {
	display: none;
}
#mv ul li dl dt.on .off {
	display: none;
}
#mv ul li dl dd {
	padding:  40px 60px;
	display: none;
}
#mv ul li dl dd p {
	margin-bottom: 30px;
	font-size: 16px;
	letter-spacing: 0.05em;
}

.mv_tit {
    text-align: center;
    margin-bottom: 2rem;
    font-weight: bold;
    font-size: 1.3rem;
}

.yt {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

.yt iframe {
    width: 100%;
    position: absolute;
    top: 0;
    height: 100%;
    left: 0;
}


@media screen and (min-width: 813px) {
	
	#mv ul li dl dt,
	#mv ul li dl dt::before,
	#mv ul li dl dt::after {
		transition: all 0.3s ease-out;
	}
	#mv ul li dl dt:hover {
		background-color: #fff;
		color: #000;
    	border-bottom: #000 solid 1px;
	}
	#mv ul li dl dt:hover::before,
	#mv ul li dl dt:hover::after {
		background-color: #000;
	}
	
	
}

@media screen and (max-width: 812px) {

.mv_tit {
    font-size: 1.15rem;
    margin-bottom: 1.5rem;
}

#mv ul li {
    padding: 0;
    margin-bottom: 1rem;
}

	#mv ul li .mvFlex {
		padding: 8vw 6vw 0;
		margin-bottom: 8vw;
		flex-direction: row-reverse;
    	align-items: center;
	}
	#mv ul li h3 {
    	font-size: 4vw;
    	line-height: 1.7;
    	padding: 0 0 0 3vw;
		width: 65%;
		box-sizing: border-box;
		margin-bottom: 6vw;
	}
	#mv ul li h3 span {
		font-size: 3vw;
		display: block;
	}
	#mv ul li .mvFlex .jacket {
		width: 35%;
		margin-bottom: 6vw;
	}
	#mv ul li .mvFlex .yt {
		width: 100%;
	}
	
	#mv ul li dl dt {
		font-size: 3.8vw;
		padding: 3vw;
	}
	#mv ul li dl dt::after {
		width: 18px;
		top: 50%;
		right: 20px;
	}
	#mv ul li dl dt::before {
		width: 2px;
		height: 18px;
		right: 28px;
		margin-top: -9px;
	}
	
	#mv ul li dl dd {
		padding: 8vw 4vw 4vw;
	}
	#mv ul li dl dd p {
		margin-bottom: 5vw;
		font-size: 3.2vw;
		letter-spacing: 0.03em;
	}
}


#lyric {
    overflow: hidden;
}
#lyric ul {
    max-width: 960px;
    margin: 0 auto;
}
#lyric ul li {
    padding: 0 40px;
}

#lyric .lyric_box {
    background: #fff;
    padding: 50px;
    background-image: url(/static/theoralcigarettes/official-pc/altergeist/images/ph_bg_dust_vB9Dp72r.png);
    background-size: 42%;
    background-repeat: no-repeat;
    background-position: top right;
    position: relative;
}
#lyric .lyric_txt {
    display: flex;
    flex-wrap: wrap;
    gap: 2%;
}

#lyric .lyric_txt > p {
    width: 32%;
}

#lyric .lyric_box h3 {
    font-size: 22px;
}

#lyric .creater {
    margin-bottom: 25px;
}

#lyric ul li dl dt {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    padding: 14px;
    letter-spacing: 0.05em;
    position: relative;
    cursor: pointer;
    background: #dcdcdc;
    border-radius: 15px;
}
#lyric ul li dl dt::after ,#lyric ul li dl dt::before {
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    background-color: #231714;
    position: absolute;
    top: 50%;
    right: 30px;
    margin-top: -1px;
}
#lyric ul li dl dt::before {
    transform: rotate(90deg);
}

#lyric ul li dl dt.on::before {
	opacity: 0;
}

#lyric ul li dl dt.off .on {
	display: none;
}
#lyric ul li dl dt.on .off {
	display: none;
}
#lyric ul li dl dd {
    padding: 30px 0 0;
    display: none;
}


@media screen and (max-width: 812px) {

#lyric ul li {
    padding: 0 6vw;
}

#lyric .lyric_box {
    padding: 20px;
}

#lyric .creater {
    margin-bottom: 20px;
    font-size: 11px;
    word-break: break-word;
}

#lyric .lyric_box h3 {
    font-size: 20px;
    margin-bottom: 5px;
}

#lyric .lyric_txt > p {
    width: 100%;
    font-size: 11px;
    line-height: 1.7;
}

#lyric ul li dl dt {
    font-size: 15px;
}

#lyric ul li dl dt::after, #lyric ul li dl dt::before {
    width: 13px;
    right: 15px;
}

}



/* ////////////////////////////////////////////////////////////////////////////////

	special

//////////////////////////////////////////////////////////////////////////////// */

#special {
}

#special h3 {
	font-family: alternate-gothic-no-1-d, sans-serif;
	font-size: 64px;
	font-weight: normal;
	text-align: center;
	letter-spacing: 0.05em;
	line-height: 1.2;
}
#special .ttlSub {
	font-size: 20px;
	text-align: center;
	letter-spacing: 0.05em;
}

#special .bkwCard {
    padding: 60px;
    background-color: #f6f6f6;
    margin: 0 auto 80px;
    color: #231714;
}
#special .bkwCard:last-child {
    margin-bottom: 0;
}

#special .prizeTtl {
	text-align: center;
    margin-bottom: 30px;
    font-size: 32px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.6;
}
#special .prizeTtl span {
	font-size: 20px;
}
#special .cardMain {
	max-width: 200px;
    margin: 20px auto 0;
}
#special .bkwWrap {
	display: flex;
	justify-content: space-between;
    margin-bottom: 40px;
}
#special .bkwWrap .card {
	width: 48%;
}

#special .bkwWrap .card .txt {
	position: relative;
}
#special .bkwWrap .card .txt .number {
	position: absolute;
	top: 0;
	left: 0;
	background-color: #fff;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: bold;
}
#special .bkwWrap .card .txt h4 {
	font-size: 20px;
	font-weight: bold;
	padding-left: 90px;
	line-height: 1.4;
    margin-bottom: 5px;
}
#special .bkwWrap .card .txt .people {
	text-align: right;
    font-size: 20px;
    margin-bottom: 20px;
}
#special .bkwWrap .card .pic {
	line-height: 0;
}
#special .bkwWrap .card .prize_A {
	width: 49%;
	margin: 0 auto;
}

#special .bkwCard .period {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
}
#special .bkwCard h5 {
    width: 200px;
    font-size: 18px;
	margin-bottom: 10px;
}
#special .bkwCard .period p {
    width: calc(100% - 200px);
    font-size: 14px;
	margin-bottom: 10px;
}




#special .specialList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
}
#special .specialList li {
	width: 47%;
	margin-bottom: 50px;
	position: relative;
}
#special .specialList.noPic li {
	margin-bottom: 30px;
}
#special .specialList li.poster {
	width: 100%;
	margin-bottom: 50px;
	position: relative;
}
#special .specialList li .itemWrap {
	display: flex;
	margin-bottom: 15px;
	position: relative;
}
#special .specialList li .itemPic {
	line-height: 0;
	margin-bottom: 15px;
	position: relative;
}
#special .specialList li .itemWrap .itemPic {
	margin-bottom: 0;
}
#special .specialList li h4 {
	font-size: 20px;
}
#special .specialList li p {
	font-size: 16px;
}
#special .specialList li p span {
	font-size: 12px;
    line-height: 1.7;
    display: inline-block;
    margin-top: 10px;
}
#special .specialList li h4 a {
	color: #000;
}
#special .specialList li .storeBtn {
	position: absolute;
	top: 0;
	right: 0;
    width: 45px;
    height: 45px;
    z-index: 2;
}
#special .specialList li .storeBtn a {
    background-color: #ffbc00;
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}
#special .specialList li .storeBtn a img {
	width: 60%;
}

#special .specialList li.fanclub {
    width: 100%;
    margin-bottom: 60px;
}

#special .specialList.noPic li.fanclub {
	padding-bottom: 30px;
	margin-bottom: 30px;
}
#special .specialList li.fanclub .fanclubInr {
	width: 47%;
	margin: 0 auto;
	position: relative;
	text-align: center;
}
#special .specialList.noPic li.fanclub .fanclubInr {
	width: 100%;
}

#special .specialList li .link {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.85);
    width: 100%;
    height: 100%;
    z-index: 1;
}
#special .specialList li .link div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
    width: 100%;
    height: 100%;
}
#special .specialList li .link a {
    display: block;
    border: #ffbc00 solid 2px;
    color: #ffbc00;
    text-align: center;
    text-decoration: none;
    padding: 7px 15px;
    width: 230px;
    margin: 6px 0;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
}

#special .specialList li .link a .sold {
    font-family: alternate-gothic-no-1-d, sans-serif;
    font-weight: 500;
    border: 1px solid #1f1f1f;
    margin-right: 0.3rem;
    display: inline-block;
    line-height: 1;
    padding: 0.1em 0.3em 0;
    font-size: 0.95em;
    background: #ffbc00;
    color: #1f1f1f;
}
#special .note {
    padding-top: 30px;
    border-top: #231714 solid 1px;
}

#special .comingsoon {
    font-family: alternate-gothic-no-1-d, sans-serif;
    text-align: center;
    font-size: 36px;
    letter-spacing: 0.08em;
    margin-top: 50px;
}


#special .tokuten {
	text-align: center;
	font-size: 26px;
	font-weight: bold;
	margin-bottom: 40px;
	position: relative;
}
#special .note + .tokuten {
	margin-top: 80px;
}
#special .tokuten::before {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 0;
}

#special .tokuten span {
    display: inline-block;
    padding: 0 20px;
    background-color: #f6f6f6;
    position: relative;
    z-index: 1;
    line-height: 1.55;
}
#special .tokuten02Ttl {
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 0.04em;
    margin-bottom: 40px;
}

#special .entryBtn {
    padding: 30px 0;
    border-top: #020202 solid 1px;
    text-align: center;
}
#special .entryBtn.nobdr {
	border: none;
}
#special .entryBtn p {
	font-size: 16px;
	margin-bottom: 30px;
}

#special .btnBK,
#special .btnGR {
    max-width: 460px;
    margin: 0 auto 20px;
}
#special .btnBK a,
#special .btnGR a {
	display: block;
	font-size: 20px;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	padding: 20px;
}
#special .btnBK a { background-color: #000;}
#special .btnGR a { background-color: #ffbc00;}

#special a.end {
	background-color: #999 !important;
	pointer-events: none;
}


#special .tokuten2Box {
    background-color: #fff;
    padding: 30px 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 30px;
}
#special .tokuten2Box h5 {
	font-size: 18px;
	font-weight: bold;
	width: 30%;
	margin: 0;
}
#special .tokuten2Box p {
	font-size: 18px;
	width: 70%;
}
#special .tokuten2Box dl {
	margin-top: 30px;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
#special .tokuten2Box dt {
	font-size: 14px;
	box-sizing: border-box;
	border-bottom: #000 solid 1px;
}
#special .tokuten2Box dt.date {
	width: 20%;
}
#special .tokuten2Box dt.area {
	width: 60%;
}
#special .tokuten2Box dt.time {
	width: 20%;
	padding: 0 2.5%;
}

#special .tokuten2Box dd {
	display: flex;
	align-items: center;
	font-weight: bold;
	font-size: 20px;
	box-sizing: border-box;
	border-bottom: #000 solid 1px;
	padding: 20px 0;
}
#special .tokuten2Box dd.date {
	width: 20%;
	font-family: alternate-gothic-no-1-d, sans-serif;
    font-size: 50px;
    line-height: 1.2;
}
#special .tokuten2Box dd.date span {
	font-size: 26px;
    margin-left: 10px;
}
#special .tokuten2Box dd.area {
	width: 10%;
	text-align: center;
    justify-content: center;
	/*border-left: #000 solid 2px;
	border-right: #000 solid 2px;*/
}
#special .tokuten2Box dd.place {
	width: 50%;
	padding: 20px 2.5%;
}
#special .tokuten2Box dd.time {
	width: 20%;
	font-size: 16px;
	padding: 20px 2.5%;
}

#special .movieThumb {
	line-height: 0;
    max-width: 680px;
	margin: 0 auto 40px;
}

#special .item_h {
    line-height: 0;
    width: 55%;
    margin: 0 auto 40px;
}
#special .item_h:last-child {
    margin-bottom: 0;
}

.tokuten_txt {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 18px;
}

.itemPic {
    line-height: 0;
    margin-bottom: 50px;
}

.coming {
    font-size: 50px;
    text-align: center;
    line-height: 1.2;
    font-family: "pf-fuel-decay", sans-serif;
    font-weight: 400;
}

.campaign_box {
    background: #fff;
    padding: 40px;
    margin-bottom: 40px;
}
.campaign_box:last-child {
    margin-bottom: 0;
}


@media screen and (min-width: 813px) {
	#special .btnBK a:hover,
	#special .btnGR a:hover,
	#special .specialList li .storeBtn a:hover {
		opacity: 0.4;
	}
	#special .specialList li .link a:hover {
		background-color: #ffbc00;
		color: #fff;
	}
}


@media screen and (max-width: 812px) {
	
	#special {
	}
	#special h3 {
		font-size: 12vw;
	}
	#special .ttlSub {
		font-size: 3.6vw;
		letter-spacing: 0.05em;
	}
	
	#special .prizeTtl {
		margin-top: 0;
		margin-bottom: 6vw;
		font-size: 5.4vw;
	}
	#special .cardMain {
		max-width: 40vw;
		margin: 5vw auto 0;
	}
	#special .bkwWrap {
		display: block;
		margin-bottom: 8vw;
	}
	#special .bkwWrap .card {
		width: 100%;
    	margin-bottom: 8vw;
	}
	#special .bkwWrap .card .txt .number {
		top: 0;
		left: 0;
		width: 12vw;
		height: 12vw;
		font-size: 4vw;
	}
	#special .bkwWrap .card .txt h4 {
		font-size: 4.4vw;
		padding-left: 16vw;
		margin-bottom: 2vw;
	}
	#special .bkwWrap .card .txt .people {
		font-size: 4.2vw;
		margin-bottom: 4vw;
	}
	#special .bkwWrap .card .prize_A {
		width: 55%;
	}
#special .bkwCard {
    margin-bottom: 20px;
    padding: 20px;
}
#special .tokuten span {
    max-width: 80%;
    font-size: 15px;
    line-height: 1.5;
    padding: 0 10px;
}

	#special .bkwCard .period {
		display: block;
		margin-bottom: 6vw;
	}
	#special .bkwCard h5 {
		width: 100%;
		font-size: 4vw;
		margin-bottom: 2vw;
	}
	#special .bkwCard .period p {
		width: 100%;
		font-size: 3.4vw;
		margin-bottom: 6vw;
	}
	

#special .specialList li {
    width: 100%;
    margin-bottom: 20px;
}
	#special .specialList li.fanclub {
		padding-bottom: 6vw;
		margin-bottom: 8vw;
	}
	#special .specialList li.fanclub .fanclubInr {
		width: 100%;
	}
#special .specialList li .itemPic {
    line-height: 0;
    margin-bottom: 8px;
}
	#special .specialList li h4 {
		font-size: 4vw;
	}
	#special .specialList li p {
		font-size: 3.4vw;
	}
	#special .specialList li p span {
		font-size: 3vw;
		line-height: 1.6;
		margin-top: 1vw;
	}
	
	#special .specialList li .storeBtn {
		width: 10vw;
		height: 10vw;
	}
	
#special .specialList li .link a {
    padding: 8px;
    width: 70%;
    margin: 4px 0;
    font-size: 15px;
}
	
#special .note {
    padding-top: 20px;
    font-size: 11px;
}
	
	#special .comingsoon {
		font-size: 6.4vw;
		margin-top: 6vw;
	}
	
	#special .specialList li .itemWrap {
		display: block;
	}
	
#special .tokuten {
    font-size: 15px;
    margin-bottom: 20px;
}
	
	#special .entryBtn {
		padding: 6vw 0;
	}
	#special .entryBtn p {
		font-size: 3vw;
		margin-bottom: 4vw;
	}
	#special .btnBK,
	#special .btnGR {
		margin: 0 auto 3vw;
	}
	#special .btnBK a,
	#special .btnGR a {
		font-size: 4.2vw;
		padding: 3vw;
	}
	
	#special .tokuten02Ttl {
		font-size: 3.8vw;
		margin-bottom: 6vw;
	}
	#special .tokuten2Box {
		padding: 4vw 5vw;
		margin-bottom: 4vw;
	}
	
	#special .tokuten2Box dl {
		margin-top: 2vw;
	}
	#special .tokuten2Box dt {
		display: none;
	}
	
	#special .tokuten2Box dd {
		display: flex;
		font-size: 3.8vw;
		box-sizing: border-box;
		border-bottom: none;
		padding: 0 0 3vw;
	}
	#special .tokuten2Box dd.date {
		width: 100%;
		font-size: 10vw;
		padding: 0;
		border: none;
	}
	#special .tokuten2Box dd.date span {
		font-size: 6.4vw;
		margin-left: 2vw;
	}
	#special .tokuten2Box dd.area {
		width: 20%;
		text-align: left;
		justify-content: flex-start;
	}
	#special .tokuten2Box dd.place {
		width: 80%;
		padding: 0 2.5% 3vw;
	}
	#special .tokuten2Box dd.time {
		width: 100%;
		font-size: 3.2vw;
		padding: 0 0 3vw;
		border-bottom: #000 solid 2px;
		margin-bottom: 3vw;
	}
	
	#special .tokuten2Box p {
		font-size: 3.6vw;
		width: 100%;
	}
	
	#special .movieThumb {
		margin: 0 auto 6vw;
	}

#special .item_h {
    width: 80%;
    margin-bottom: 20px;
}

.tokuten_txt {
    font-size: 13px;
    margin-bottom: 15px;
    line-height: 1.6;
    text-align: left;
}

.itemPic {
    margin-bottom: 25px;
}

.campaign_box {
    margin-bottom: 20px;
    padding: 15px;
}

.coming {
    font-size: 27px;
}
}


/* ////////////////////////////////////////////////////////////////////////////////

	interview bnr

//////////////////////////////////////////////////////////////////////////////// */
#interviewBnr {
	max-width: 1020px;
    margin: 80px auto;
	line-height: 0;
}

@media screen and (max-width: 812px) {
	#interviewBnr {
		margin: 8vw 5vw 4vw;
	}
}


/* ////////////////////////////////////////////////////////////////////////////////

	tour

//////////////////////////////////////////////////////////////////////////////// */


.scheduleList > li {
    background: #dcdcdc;
    display: flex;
    padding: 18px 50px;
    font-size: 18px;
    font-weight: bold;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: 1px solid #fff;
}

.scheduleList > li .date {
    font-family: alternate-gothic-no-1-d, 'Zen Kaku Gothic New', sans-serif;
    font-size: 33px;
    font-weight: 500;
    width: 18%;
    line-height: 1.5;
}
.scheduleList > li .area {
    width: 12%;
}

.scheduleList > li .date .week {
    font-size: 0.5em;
    font-weight: bold;
    padding-left: 5px;
}

.tour .price {
    width: 75%;
    margin: 0 auto 50px;
}

.tour .price > li {
    background: #dcdcdc;
    display: flex;
    padding: 25px 50px;
    font-size: 18px;
    font-weight: bold;
    border-bottom: 3px dotted #fff;
    flex-wrap: wrap;
    align-items: center;
}

.tour .price > li:last-child {
    border: none;
}

.tour .price > li .price_tit {
    width: 50%;
}
.tour .price > li .price_txt {
    width: 35%;
    border-left: 2px solid;
    padding-left: 25px;
    font-size: 1.2em;
}
.sml {
    font-size: 0.82em;
}



.ticketBox .ticketBox_inner {
    margin-bottom: 1px;
}
.ticketBox .ticketBox_inner:last-child {
    margin-bottom: 0;
}

.ticketBox .ticketInfo {
    margin-bottom: 35px;
}
.ticketBox .ticketInfo li {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.ticketBox .ticketInfo_tit {
width: 16%;
    background: #f2921c;
    color: #fff;
    text-align: center;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0.07em;
    border-radius: 30px;
    line-height: 1.36;
    padding: 7px 0;
}

.ticketBox .accordion {
    position: relative;
    overflow: hidden;
}

.ticketBox .ticketInfo_desc {
    width: 100%;
    border: 1px solid #aeaeae;
    border-radius: 15px;
    background: #fff;
}


#ticket .ticketBox h4 {
    font-size: 1.3em;
    margin-bottom: 0;
    position: relative;
    line-height: 1.5;
    padding: 1.5em 3.5em 1.5em 2em;
}

#ticket .ticketBox h4 .end {
    font-size: 0.7em;
    display: inline-block;
    padding: 0.2em 1em 0.1em 1em;
    margin-right: 1em;
    border-radius: 2rem;
    background: #333;
    color: #fff;
}

.ticketBox .accordion dt h4::before {
    content: '';
    height: calc(100% - 1.6rem);
    width: 1px;
    position: absolute;
    top: 0.8rem;
    border-left: 1px solid #fd75fe;
    right: 5rem;
    display: block;
    z-index: 1;
}

.ticketBox .accordion dt::after, .ticketBox .accordion dt::before {
    right: 2rem;
}

.ticket_txt {
    font-weight: 700;
    margin-bottom: 1.3em;
}
.ticket_txt:last-child {
    margin-bottom: 0;
}

.ticketInfo_desc .target_wrap {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px dotted;
    padding: 2em 0;
    font-size: 14px;
}

.ticketInfo_desc .target_wrap:last-child {
    margin-bottom: 0;
    border-bottom: none;
}

.ticketInfo_target {
width: 11em;
    padding: 0 2em;
    font-weight: bold;
}

.ticketInfo_target_desc {
    width: calc(100% - 11em);
    padding: 0 2em;
    border-left: 1px solid;
}

.ticketBox h4 {
    font-size: 1.4em;
    margin-bottom: 0;
    position: relative;
    line-height: 1.5;
    padding: 30px 85px 30px 35px;
    background: #231714;
    color: #fff;
}

.ticketBox h4 .end {
    font-size: 0.7em;
    display: inline-block;
    padding: 0.2em 1em 0.1em 1em;
    margin-right: 1em;
    border-radius: 2rem;
    background: #333;
    color: #fff;
}

.ticketBox .accordion dt h4::before {
    content: '';
    height: calc(100% - 1.6rem);
    width: 1px;
    position: absolute;
    top: 0.8rem;
    border-left: 1px solid #ffffff;
    right: 4.5em;
    display: block;
    z-index: 1;
}

.map {
    width: 70%;
    margin: 0 auto 3rem;
    line-height: 0;
}
.map img {
    width: 100%;
}

dl.accordion dt {
    cursor: pointer;
    position: relative;
    background: #ffbc00;
    display: block;
    max-width: 400px;
    margin: 0 auto;
    color: #231714;
    text-decoration: none;
    font-weight: 600;
    font-size: 17px;
    padding: 22px;
    text-align: center;
    border: 2px solid #231714;
}

dl.accordion dd {
    padding: 40px 0 0;
    display: none;
}

.accordion dt::before {
    content: "";
    display: block;
    width: 1em;
    height: 0;
    border-bottom: 3px solid;
    position: absolute;
    top: 50%;
    right: 1.5em;
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    z-index: 1;
}

.accordion dt::after {
    content: "";
    display: block;
    width: 1em;
    height: 0;
    position: absolute;
    top: 50%;
    right: 1.5em;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    z-index: 1;
    border-bottom: 3px solid;
}

.accordion dt.on::before {
    -webkit-transform: translateY(-50%) rotate(0deg);
    transform: translateY(-50%) rotate(0deg);
    opacity: 0;
}
.accordion.open dd {
    display: block;
}


.schedule_arena {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto;
}

.schedule_arena > li {
    width: 50%;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    padding: 0 4%;
}

.schedule_arena > li:first-child {
    border-right: 1px solid;
}

.schedule_arena > li .area {
    background: #231714;
    color: #fff;
    font-size: 0.85em;
    letter-spacing: 0.1em;
    border-radius: 20px;
    width: 35%;
    margin: 0 auto 6px;
}

.schedule_arena > li .date {
    font-size: 0.9em;
    margin-bottom: 15px;
}

.schedule_arena > li .date .week {
    font-size: 0.85em;
}


@media screen and (max-width: 812px) {

.scheduleList > li {
    padding: 15px;
    font-size: 14px;
}
.scheduleList > li .date {
    width: 100%;
    line-height: 1.2;
}
.scheduleList > li .area {
    display: inline-block;
    width: auto;
    margin-right: 12px;
}

.tour .price {
    width: 100%;
    margin-bottom: 25px;
}

.tour .price > li {
    padding: 20px;
    font-size: 14px;
}

.tour .price > li .price_tit {
    width: 100%;
    font-size: 13px;
}

.tour .price > li .price_txt {
    width: 100%;
    padding: 0;
    border: none;
}

.map {
    width: 100%;
    margin-bottom: 2rem;
}

.ticketBox h4 {
    padding: 20px 45px 20px 15px;
    font-size: 13px;
}

.ticketBox .accordion dt h4::before {
    right: 42px;
}
.ticketBox .accordion dt::after, .ticketBox .accordion dt::before {
    right: 16px;
    border-width: 2px;
}

.ticketBox .ticketInfo {
    margin-bottom: 20px;
}

.ticketInfo_desc .target_wrap {
    font-size: 12px;
    padding: 13px;
}

.ticketInfo_target {
    width: 100%;
    padding: 0;
    margin-bottom: 5px;
}

.ticketInfo_target_desc {
    width: 100%;
    padding: 0;
    border: none;
}

.ticketBox .ticketInfo_desc {
    border-radius: 10px;
}

.schedule_arena > li {
    width: 100%;
    margin-bottom: 20px;
    line-height: 1.6;
    padding: 0;
    border: none !important;
}

.schedule_arena {
    width: 100%;
}

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

dl.accordion dt {
    font-size: 15px;
    padding: 20px;
}

dl.accordion dd {
    padding: 30px 0;
}

}



#concept {
    padding-bottom: 0;
}

#concept .concept_visual {
    width: 70%;
    margin: 0 auto 5rem;
    line-height: 0;
}
#concept .concept_visual:last-child {
    margin: 0 auto 0;
}

#concept .galleryList {
    display: flex;
    flex-wrap: wrap;
}

#concept .galleryList li {
    padding: 5px;
    line-height: 0;
    width: 20%;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}

#concept .galleryList li a {
    position: relative;
    display: block;
    outline: none;
    z-index: 2;
    padding-top: 100%;
    background-size: cover;
    background-position: center;
    height: 0;
    filter: sepia(0);
    transition: 0.4s;
}

.interview_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}
.interview_list > li {
    width: 23%;
}
.interview_list > li a {
    display: block;
    line-height: 0;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0.35rem 0.35rem 0 #231714;
    background: #231714;
}

.interview_list > li a img {
    display: block;
    transition: 0.3s;
}
.interview_list > li a:hover img {
    transform: scale(1.1);
}

.interview_list > li .int_name {
    font-family: "pf-fuel-decay", sans-serif;
    font-weight: 400;
    font-size: 1.4rem;
    padding-top: 0.5rem;
    letter-spacing: -0.01em;
    text-align: right;
    line-height: 1.5;
}

section#interview .note {
    text-indent: -1em;
    padding-left: 1em;
}

main > #interview:nth-of-type(even)::after {
    display: none;
}


@media screen and (min-width: 812px) {

#concept .galleryList li a:hover {
    opacity: 1;
    filter: sepia(0.8);
}

}

@media screen and (max-width: 812px) {

#concept .concept_visual {
    width: 80%;
    margin-bottom: 3rem;
}
	
	#concept .galleryList li {
	    padding: 2px;
	    width: 25%;
	}
	
.interview_list > li {
    width: 47.5%;
    margin-bottom: 0.5rem;
}
.interview_list > li .int_name {
    font-size: 1.2rem;
}

}



.bnr_area {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    width: 7.5rem;
    height: 7.5rem;
    z-index: 10;
    mix-blend-mode: difference;
}
.bnr_area a {
    text-decoration: none;
    display: block;
}

.bnr_area a .bnr_logo {
    display: block;
    position: absolute;
    top: 4%;
    left: 6%;
    width: 90%;
}

.bnr_area a .bnr_txt {
    display: block;
    animation: buyBtn 30s linear 0s infinite;
}
@keyframes buyBtn {
	0% { transform: rotate(0);}
	100% { transform: rotate(360deg);}
}


@media screen and (max-width: 812px) {

.bnr_area {
    height: 5rem;
    width: 5rem;
    bottom: 0.75rem;
    right: 0.75rem;
}

}


.c-table_place {
    width: 100%;
    border-collapse: collapse;
}

.c-table_place tbody tr {
    border-bottom: 1px solid #ddd;
}
.c-table_place tbody tr:first-child {
    position: sticky;
    top: 0;
}

.c-table_place th {
    padding: 15px;
    text-align: center;
    background: #ba324a;
    border-right: 1px solid #fff;
    color: #fff;
}

.c-table_place tbody td {
    padding: 15px;
    background: #fff;
    border-right: 1px solid #ddd;
    border-left: 1px solid #ddd;
    color: #231714;
}

.c-table_place tbody td.cell_day {
    text-align: center;
}

.c-table_place tbody td a {
    color: #ba324a;
}

.schedule_wrapper {
    margin-bottom: 50px;
}
.schedule_wrapper:last-child {
    margin-bottom: 0;
}

.schedule_wrapper .schedule_tit {
    font-weight: bold;
    font-size: 1.2rem;
    margin-bottom: 0.8rem;
}



.notice_tit {
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 15px;
    border-left: 5px solid #ffbc00;
    padding-left: 8px;
}

#notice .attention_list {
    width: 100%;
}


@media screen and (max-width: 812px) {

.c-table_place th {
    padding: 10px 5px;
    line-height: 1.5;
}

.c-table_place tbody td {
    line-height: 1.5;
    padding: 8px;
}

.c-table_place tbody td.area {
    text-align: center;
}

.schedule_wrapper .schedule_tit {
    font-size: 15px;
}

.schedule_wrapper {
    margin-bottom: 35px;
}

.notice_tit {
    line-height: 1.5;
    border-width: 4px;
}


}



/* ////////////////////////////////////////////////////////////////////////////////

	fotter

//////////////////////////////////////////////////////////////////////////////// */

footer {
    max-width: 1135px;
    margin: 0 auto;
    padding: 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

footer .ftrLogo {
	display: flex;
	list-style: none;
	align-items: baseline;
}
footer .ftrLogo li {
	margin-right: 40px;
}
footer .ftrLogo li:nth-child(1) {
	width: 164px;
}
footer .ftrLogo li:nth-child(2) {
	width: 120px;
}

footer p {
	font-size: 12px;
	letter-spacing: 0.05em;
}


@media screen and (max-width: 812px) {
	footer {
	    padding: 40px 0;
	    display: block;
	}
	footer .ftrLogo {
		display: flex;
		list-style: none;
		align-items: baseline;
		justify-content: center;
    	margin-bottom: 6vw;
	}
	footer .ftrLogo li {
		margin: 0 4vw;
	}
	footer .ftrLogo li:nth-child(1) {
		width: 28vw;
	}
	footer .ftrLogo li:nth-child(2) {
		width: 21vw;
	}
	footer p {
		font-size: 2.6vw;
		letter-spacing: 0.02em;
		text-align: center;
	}
}
